分享

struts1 logic:iterate bean:write标签使用

 昵称27831725 2017-10-11
刚开始为如下代码:
  1. <html:select name="ShuiwujiguanForm" property="swjg_dmSelect" >  
  2.          <option value=""></option>  
  3.          <html:options collection="select_list" property="swjg_dm" labelProperty="swjg_mc"/>  
  4. </html:select>  


需要改为按树级分层的结构,如下图:


代码修改为:
  1. <html:select name="ShuiwujiguanForm" property="swjg_dmSelect" >  
  2.                      <option value=""></option>  
  3.                      <logic:iterate id="select_list" name="ShuiwujiguanForm" property="select_list" scope="request">  
  4.                                  <option value="<bean:write name="select_list" property="swjg_dm"/>">  
  5.                                      <logic:equal name="select_list" property="swjg_level" value="1">nbsp;nbsp;</logic:equal>  
  6.                                      <logic:equal name="select_list" property="swjg_level" value="2">nbsp;nbsp;nbsp;nbsp;</logic:equal>  
  7.                                      <logic:equal name="select_list" property="swjg_level" value="3">nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;</logic:equal>  
  8.                                      <logic:equal name="select_list" property="swjg_level" value="4">nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; </logic:equal>  
  9.                                  <bean:write name="select_list" property="swjg_mc"/>  
  10.                                 </option>  
  11.                      </logic:iterate>  
  12. </html:select>  

nbsp;替换为 ,在这里 不显示
logic:equal 进行判断, 级别为1的进行空格,为2的再多空格,依次类推。


logic:iterate用法
id 脚本变量的名称,它保存着集合中当前元素的句柄。 
name 代表了你需要叠代的集合(不知道和property有啥区别),来自session或者request的属性。 
type 是其中的集合类元素的类型

1、name和property都存在的时候有值
  1. <logic:iterate id="select_list" name="ShuiwujiguanForm" property="select_list" scope="request">  
  2. </logic:iterate>  
遍历的是property="select_list"的值

2、有property无name时报错
  1. <logic:iterate id="select_list "  property="select_list" scope="request">  
  2. </logic:iterate>  

3、有name无property时有值
  1. <logic:iterate id=" select_list " name="select_list"  scope="request">  
  2. </logic:iterate>  
遍历的是 name  ="select_list"的值

id保存着集合中当前元素,可随意取值 但iterator标签内的标签一些name属性就要引用这个id值
例如id取值为a:
  1. <logic:iterate id="a" name="ShuiwujiguanForm" property="select_list" scope="request">  
  2.                         <option value="<bean:write name="a" property="swjg_dm"/>">  
  3.                                 <logic:equal name="a" property="swjg_level" value="1">nbsp;nbsp;</logic:equal>  
  4.                                 <bean:write name="a" property="swjg_mc"/>  
  5.                         </option>  
  6.  </logic:iterate>  


bean:write用法
bean:write常用的属性有如下几个:
1、name,用来指定属性的名字
2、filter,用来指定是否屏蔽到属性值的HTML格式
3、property,用来指定name所代表的对象的属性名字
4、format,用来指定显示的时间,数字,日期等的格式

只介绍name与property属性
例1
action中设置了request.setAttribute("hello","hello world");
则在jsp页面中,用struts的write标签取出并显示的方式如下:
<bean:write name="hello"/>,则页面上显示出hello world。

例2
假如有User类和Dept类,User类有属性名字userName,年龄age,和所属的Dept,
Dept类有属性组名deptName,并均具有相应的get和set方法。
某处设置了request.setAttribute("user",new User("张三","23","男",new Dept("开发部")));
则在某个jsp页面中,用struts的write标签取出并按指定方式显示结构体的方法如下:
  1. 用户名:<input type="text" value="<bean:write name="user" property="userName"/>">  
  2. 年龄:<input type="text" value="<bean:write name="user" property="age"/>">  
  3. 性别:<input type="text" value="<bean:write name="user" property="sex"/>">  
  4. 组名:<input type="text" value="<bean:write name="user" property="dept.deptName"/>">  


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多