因为 springmvc 并没有像 struts2 一样提供表单标签,所以导致回显出现困难,主要集中在两方面,同时也是两个方法来解决
1.单选框(radio)第一种方法:
这种完全就是通过字符串拼接的方式来实现,也是下策,正常肯定是不推荐这种方法,而且遇到有用到EL表达式文本节点的就很弱鸡。
${employee.sex eq '男'?'<input type="radio" name="sex" value="男" checked="checked"/>男':'<input type="radio" name="sex" value="男"/>男'}
${employee.sex eq '女'?'<input type="radio" name="sex" value="女" checked="checked"/>女':'<input type="radio" name="sex" value="女"/>女'}
2.下拉列表框(select)第二种方法:
这种方法,个人觉得还是不错的,通过 jstl 标签来实现
<select name="department.did">
<option value="">---请选择部门--</option>
<c:forEach items="${departments}" var="d">
<option value="${d.did}" <c:if test="${d.did eq employee.department.did}">selected="selected"</c:if> >${d.dname}</option>
</c:forEach>
</select>
总结:第一种方法的出现就是因为没有想到使用 jstl 的 if 标签,springmvc 就不能出一个好用的标签库吗?