当你提交一个表单失败 或 修改信息时,表单中的下拉列表、单选框、多选框 应该默认选中提交之前 或修改之前的状态 的状态
1. 下拉列表 jstl
<select name="classes">
<option value="">请选择</option>
<c:forEach items="${classList}" var="itemm">
<option value="${itemm.id}"<c:if test="${itemm.id==stu.cid}">selected="selected"</c:if>>${itemm.name}</option>
</c:forEach>
</select>
下拉列表<select></select> 的选中属性为 selected="selected"
<c:if test="${itemm.id==stu.cid}">selected="selected"</c:if>
记得在页面顶部导入
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
2. 单选按钮 jstl
<input type="radio" name="gender" id="" value="男" <c:if test="${stu.gender eq '男'}">checked="checked"</c:if>/>男
<input type="radio" name="gender" id="" value="女" <c:if test="${stu.gender eq '女'}">checked="checked"</c:if>/>女
单选按钮的选中属性为 checked="checked"
<c:if test="${stu.gender eq '女'}">checked="checked"</c:if>
若比较的数据时数字型的,<c:if test="${stu.gender == 2}">checked="checked"</c:if>
记得在页面顶部导入
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
3. 复选框 jstl
<tr>
<td>爱好</td>
<td>
<input type="checkbox" name="hobby" id="" value="篮球" <c:if test="${fn:contains(stu.hobbies,'篮球')}">checked="checked"</c:if> />篮球
<input type="checkbox" name="hobby" id="" value="足球" <c:if test="${fn:contains(stu.hobbies,'足球')}">checked="checked"</c:if>/>足球
<input type="checkbox" name="hobby" id="" value="网球" <c:if test="${fn:contains(stu.hobbies,'网球')}">checked="checked"</c:if> />网球
</td>
<td class="errm">${hobbyErr}</td>
</tr>
复选框选中的属性同样是 checked="checked",
<c:if test="${fn:contains(stu.hobbies,'篮球')}">checked="checked"</c:if>
不过,这就不是单选那样直接判断是否相等了,contains()判断这个属性值是否包含 那个字段,若是则为TRUE
当然,使用这种方法要有两个导入
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>