<select name="taskname" id="taskname" class="select01">
<option value="">-任务类型-</option>
<logic:notEmpty name="tasknamelist">
<logic:iterate id="task" name="tasknamelist">
<logic:equal name="task" value="${taskname}">
<option value="<bean:write name="task" />" selected="selected"><bean:write name="task" /></option>
</logic:equal>
<logic:notEqual name="task" value="${taskname}">
<option value="<bean:write name="task" />"><bean:write name="task" /></option>
</logic:notEqual>
</logic:iterate>
</logic:notEmpty>
</select>
以上这段代码能够实现给下拉列表动态赋值,而且回显的功能,可是标签中的一些属性值设置常常搞混,须要注意。spa
request.setAttribute("tasknamelist", tasknamelist);
request.setAttribute("taskname", tasknamelist);
在刚开始加载页面的时候此处taskname为“”空,后期用于和tasknamelist中的值作比较,用于回显。code
< bean:write name="task"> 查阅资料,都表示在代码中必定会有 request.setAttribute("task", task); 这种相似的代码。可是我在项目中发现确实没有这种代码?那么<bean:write name="task">是如何取值的呢?orm
觉得此处< bean:write name="task">和<logic:iterate id="task" name="tasknamelist"> 一同使用,因此此处的规则是 :标签中的name属性要跟logic:iterator中的id属性对应上.blog
(<logic:iterator标签会把name属性值为list的集合里的bean逐一取出来,每取出来一个,就把他存到名为id属性的值的pageContext范围内)it