首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数据库中的值设置jsp复选框

使用数据库中的值设置jsp复选框
EN

Stack Overflow用户
提问于 2011-10-21 14:28:44
回答 3查看 36.6K关注 0票数 2

好的。我正在制作一个有数据库后端的java web应用程序来对一些数据做一些增删改查。当单击某项旁边的“编辑”按钮时,它会导航到包含当前数据的表单进行编辑。其中一个字段是布尔值,我想将其显示为复选框,以便True将其选中,而False将其保留为未选中。

我尝试了许多不同的变体,但似乎都不起作用。以下是<%= action.get("stable")%>返回带有TrueFalse的字符串的一些示例

代码语言:javascript
复制
<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")返回的字符串将复选框设置为选中/取消选中呢

谢谢你的帮助,如果这个问题有点琐碎,我很抱歉。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-21 14:37:08

选中复选框的正确标记为checked="checked"。如果未选中,则checked属性必须根本不存在。

您应该使用JSTL和JSP生成它,因为scriptlet是过去的东西,几年内不应该在JSP中使用。参见How to avoid Java code in JSP files?

这当然需要一些重构,以便action bean有一个返回布尔值的常规isStable()方法,这将更加简洁。但不管怎样,下面是使用现有代码的工作方式:

代码语言:javascript
复制
<input type="checkbox" name="stable" <% 
    if ("True".equals(action.get("stable"))) {
        out.print("checked=\"checked\"");
    } %>/>

请注意,所有属性也应该用引号括起来。

票数 3
EN

Stack Overflow用户

发布于 2019-08-16 06:46:12

我用了这个,它工作得很好。

代码语言:javascript
复制
 <input type="checkbox" <c:if test="${item.estado==2}">checked=checked</c:if> class="switch-input" >
票数 5
EN

Stack Overflow用户

发布于 2011-10-21 14:33:50

需要设置<input type="checkbox"/>checked属性

编辑:

代码语言:javascript
复制
<input type="checkbox" <%=action.get("stable") ? "checked='checked'" : "" %> />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7845741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档