Struts标签<bean:write><logic:iterate></logic:equal>的组合使用小例
2017-09-26 22:46
495 查看
form表单中的一个下拉列表控件的代码如下
<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>
以上这段代码可以实现给下拉列表动态赋值,并且回显的功能,但是标签中的一些属性值设置经常搞混,需要注意。
1.<logic:notEmpty name="tasknamelist"> 和 <logic:iterate id="task" name="tasknamelist"> 通过name取值,这说明在代码中一定有如下的类似代码:(向request等域中赋值)
request.setAttribute("tasknamelist", tasknamelist);
2.<logic:equal name="task" value="${taskname}"> Struts标签中不能嵌套,所以如果此处value值是动态的,通过EL表达式来获取,对应的在代码中一定有类似如下代码:(向request等域中赋值)
request.setAttribute("taskname", tasknamelist);
在刚开始加载页面的时候此处taskname为“”空,后期用于和tasknamelist中的值做比较,用于回显。
3.<option value="<bean:write name="task" />" selected="selected"><bean:write name="task" /></option>
< bean:write name="task"> 查阅资料,都表示在代码中一定会有 request.setAttribute("task", task); 这种类似的代码。但是我在项目中发现确实没有这种代码?那么<bean:write name="task">是如何取值的呢?以为此处< bean:write name="task">和<logic:iterate id="task" name="tasknamelist"> 一同使用,所以此处的规则是 :标签中的name属性要跟logic:iterator中的id属性对应上.
(<logic:iterator标签会把name属性值为list的集合里的bean逐一取出来,每取出来一个,就把他存到名为id属性的值的pageContext范围内)
相关文章推荐
- struts标签bean:cookie,bean:write,logic:page,logic:present,logic:iterate使用实例
- struts标签bean:cookie,bean:write,logic:page,logic:present,logic:iterate使用实例
- struts1 logic:iterate bean:write标签使用
- struts之<bean:write>及<logic:iterate>
- 使用struts1.x标签<logic:iterate>来输出map,list
- struts标签bean:cookie,bean:write,logic:page,logic:present,logic:iterate使用实例
- Struts中用<bean:size>和<bean:write>的使用,用于显示集合的总记录数
- struts标签<logic:iterate>的用法
- struts标签<logic:iterate>的用法
- struts标签<logic:iterate>的用法
- struts1标签之<logic:iterate>
- Struts中用<bean:size>和<bean:write>的使用,用于显示集合的总记录数
- <bean:write/>标签使用方法详解
- Struts 2中<s:bean>标签的用法
- 使用struts bean:write标签时不能显示Integer,BigDecimal等类型的属性问题的解决
- Struts 1 之<bean>标签库
- struts中logic:iterate标签的使用
- Struts中<s:token/>标签的使用。相当于一个拦截器<interceptor-ref name="token"/>
- Struts---- <s:bean>标签
- 使用struts bean:write标签时不能显示Integer,Date等类型的属性问题的解决