【发布时间】:2011-12-29 17:58:13
【问题描述】:
如何根据数据库中的值使用 JSP 预填充 HTML 单选按钮?
【问题讨论】:
标签: html jsp radio-button
如何根据数据库中的值使用 JSP 预填充 HTML 单选按钮?
【问题讨论】:
标签: html jsp radio-button
您只需要让 JSP 打印 HTML <input type="radio"> 元素的 checked 属性。最简单的方法是在EL 中使用条件运算符?:。这是一个启动示例:
<input type="radio" name="foo" value="one" ${bean.foo == 'one' ? 'checked' : ''}/>
<input type="radio" name="foo" value="two" ${bean.foo == 'two' ? 'checked' : ''}/>
...
或者,如果您在某个集合(例如 List<String>)中拥有所有可用的输入值,则执行以下操作:
<c:forEach items="${foos}" var="foo">
<input type="radio" name="foo" value="${foo}" ${bean.foo == foo ? 'checked' : ''}/>
</c:forEach>
不管怎样,如果${bean.foo}等于"two",它最终应该在生成的HTML中如下结束:
<input type="radio" name="foo" value="one" />
<input type="radio" name="foo" value="two" checked />
...
【讨论】:
${foos} 是集合。 ${foo} 是当前迭代的项目。另请参阅stackoverflow.com/questions/1727603/…、stackoverflow.com/questions/3177733/… 和 stackoverflow.com/tags/servlets/info
纯 JSP 脚本
<input type="radio" name="gender" value="male" <% if (resultSet.getString("gender").equals("male")) out.print("checked"); else out.print(""); %> />
<input type="radio" name="gender" value="female" <% if (resultSet.getString("gender").equals("female")) out.print("checked"); else out.print(""); %> />
【讨论】: