使用struts2标签
只需要将s:select 标签提交时的name值与回显表单的name值设置相同,struts2的param拦截器会自动赋值给标签
不使用struts2标签
不使用struts2标签会相对麻烦一些,代码中select标签中的是具体应用,就是判断回显的值是否等于标签中具体的option项,如果相等就在标签中加selected属性,在显示的时候显示的是有select属性的option项
<form action="admin/foods-save" enctype="multipart/form-data">
<input type="hidden" name="id" value="${id }"/>
<input type="text" name="chineseName" /><br>
<input type="file" name="foodsImage"/><br>
<select name="foods.category.id">
<c:forEach items="${categories }" var="category">
<c:if test="${categoty.id == id }">
<option value="category.id" selected="selected">${category.name }</option>
</c:if>
<c:if test="${categoty.id != id }">
<option value="category.id" >${category.name }</option>
</c:if>
</c:forEach>
</select>
</form>