好。我正在用数据库后端制作一个Java Web应用程序,以便对某些数据进行CRUD。单击项目旁边的“编辑”按钮时,它将导航到包含当前数据的表单以进行编辑。字段之一是布尔值,我想将其显示为复选框,以True使其处于选中状态,而False使其未被选中。
True
False
我尝试了许多不同的方法,但似乎都没有效果。以下是一些<%= action.get("stable")%>返回带有True或的字符串的示例False
<%= action.get("stable")%>
<input TYPE=checkbox name="stable" value=<%= action.get("stable") %> <input TYPE=checkbox name="stable" value=<%= action.get("stable")?"True":"False" %><%= action.get("stable")?"checked":"" %> <input TYPE=checkbox name="stable" checked=<%= action.get("stable")%>/>
那么如何根据返回的字符串将复选框设置为选中/未选中 action.get("stable")
action.get("stable")
谢谢您的帮助,对不起,如果这个问题有点琐碎。
选中的复选框的正确标记是checked="checked"。如果未选中,则该checked属性完全不能存在。
checked="checked"
checked
您应该使用JSTL和JSPEL生成它,因为scriptlet是过去的东西,多年以来都不应该在JSP中使用。
当然,这需要进行一些重构,以便操作bean具有isStable()返回布尔值的常规方法,这将更加清洁。但是无论如何,这是使用现有代码的工作方式:
isStable()
<input type="checkbox" name="stable" <% if ("True".equals(action.get("stable"))) { out.print("checked=\"checked\""); } %>/>
请注意,所有属性也应用引号引起来。