<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