只是截取项目中部分代码,供参考及日后查阅

用struts1标签html:select 展现select下拉列表
刚开始为如下代码:

<html:select name="ShuiwujiguanForm" property="swjg_dmSelect" >
<option value=""></option>
<html:options collection="select_list" property="swjg_dm" labelProperty="swjg_mc"/>
</html:select>





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





代码修改为:

<html:select name="ShuiwujiguanForm" property="swjg_dmSelect" >
<option value=""></option>
<logic:iterate id="select_list" name="ShuiwujiguanForm" property="select_list" scope="request">
<option value="<bean:write name="select_list" property="swjg_dm"/>">
<logic:equal name="select_list" property="swjg_level" value="1">nbsp;nbsp;</logic:equal>
<logic:equal name="select_list" property="swjg_level" value="2">nbsp;nbsp;nbsp;nbsp;</logic:equal>
<logic:equal name="select_list" property="swjg_level" value="3">nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;</logic:equal>
<logic:equal name="select_list" property="swjg_level" value="4">nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; </logic:equal>
<bean:write name="select_list" property="swjg_mc"/>
</option>
</logic:iterate>
</html:select>
nbsp;替换为&nbsp;,在这里&nbsp;不显示
logic:equal 进行判断, 级别为1的进行空格,为2的再多空格,依次类推。
logic:iterate用法
id 脚本变量的名称,它保存着集合中当前元素的句柄。 
name 代表了你需要叠代的集合(不知道和property有啥区别),来自session或者request的属性。 
type 是其中的集合类元素的类型

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


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

3、有name无property时有值

<logic:iterate id=" select_list " name="select_list"  scope="request">
</logic:iterate>

遍历的是 name  ="select_list"的值

id保存着集合中当前元素,可随意取值 但iterator标签内的标签一些name属性就要引用这个id值
例如id取值为a:
<logic:iterate id="a" name="ShuiwujiguanForm" property="select_list" scope="request">
<option value="<bean:write name="a" property="swjg_dm"/>">
<logic:equal name="a" property="swjg_level" value="1">nbsp;nbsp;</logic:equal>
<bean:write name="a" property="swjg_mc"/>
</option>
</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标签取出并按指定方式显示结构体的方法如下:
用户名:<input type="text" value="<bean:write name="user" property="userName"/>">
年龄:<input type="text" value="<bean:write name="user" property="age"/>">
性别:<input type="text" value="<bean:write name="user" property="sex"/>">
组名:<input type="text" value="<bean:write name="user" property="dept.deptName"/>">

struts1 logic:iterate bean:write标签使用的更多相关文章

  1. Struts标签<bean:write><logic:iterate></logic:equal>的组合使用小例

    form表单中的一个下拉列表控件的代码如下 <select name="taskname" id="taskname" class="selec ...

  2. 使用struts的logic:iterate标签遍历列表时得到显示序号

    <logic:notEmpty name="sList" scope="request"> <logic:iterate id="e ...

  3. struts标签<logic:iterate>的用法

    <logic:iterate>主要用来处理在页面上输出集合类,集合一般来说是下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体用法请参考s ...

  4. struts1吊牌&lt;logic:iterate&gt;

    <logic:iterate>主要用于处理网页上的输出集合,集合是其中一般下列之一: 1. java对象的数组 2. ArrayList.Vector.HashMap等 具体使用方法请參考 ...

  5. logic:iterate(转)

    logic:iterate struts标签<logic:iterate>的用法 StrutsBeanJSPWeb脚本  <logic:iterate>主要用来处理在页面上输出 ...

  6. 【Bean】标签常用属性

    [Bean]标签常用属性 Id 说明:起名称,id属性值名称任意,不能包含特殊符号,根据id得到配置对象. Class 说明:创建对象所在类的全路径. Name 说明:功能和id是一样的,id属性值不 ...

  7. Struts bean:define标签用法

    bean:define:有三个用途 一是定义新字符串常量: <bean:define id="foo" value="This is a new String&qu ...

  8. jstl标签库基础教程及其使用代码

    概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义和非标准的实现.鉴于此,出现了 JSTL ( JSP Sta ...

  9. 【转】Struts1.x系列教程(7):Logic标签库

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

随机推荐

  1. Linux C/C++计划Shell命令大杂烩(1)

    1, 请参见发行信息 cat /etc/issue 2, 查看内核版本号 uname -r 查看内核版本号 uname -p 查看处理器类型32bit/64bit uname -n 查看网络主机名(o ...

  2. 如何从 0 开始学 Ruby on Rails

    如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣, ...

  3. VS2015前端工具:NPM和Web Essentials

    VS2015前端工具:NPM和Web Essentials 1.写作背景 想在5月份前换个工作环境了,“检讨”一下自己混饭的技术水平和处世的人脉关系,觉得很不给力!为人方面,人各有志也就不纠结了,但本 ...

  4. Oracle利用存储过程性 实现分页

    分页的简单配置 在上一次已经说过了 这边说说怎么在存储过程中实现分页 首先建立存储过程 參考 http://www.cnblogs.com/gisdream/archive/2011/11/16/22 ...

  5. JS全选功能代码优化

    原文:JS全选功能代码优化 JS全选功能代码优化 最近在看javascript MVC那本书,也感觉到自己写的代码也并不优雅,所以一直在想 用另一种模式来编写JS代码,所以针对之前的简单的JS全选功能 ...

  6. 原生JS的DOM节点操作

    DOM(Document Object Model/文档对象模型)是针对HTML和XML文档的一个API.DOM节点树:在文档中出现的空格.回车.标签.注释.文本.doctype.标签等都属于DOM节 ...

  7. Your build host version of Xamarin.IOS (release NO.)is too recent to work with the IOS designer

    Encounted such error in VS after I update the xamarin at Mac side.Here is the solution for u to refe ...

  8. Oracle 跨库 查询 复制表数据 分布式查询

    方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问 ...

  9. javascript立即调用的函数表达式N种写法(第二篇)

    原文:javascript立即调用的函数表达式N种写法(第二篇) 上一篇博客我谈到将函数声明转换为函数表达式最常见的一种写法是:通过括号()将匿名函数声明转换为函数表达式即(function(){}) ...

  10. Entity Framework 5 自定义代码生成模板 转

    Entity Framework 5 发布有一定时间了,但学习资源确实不多,更何况英语差的我,看英语确实费力,不管怎么样,问题还是解决了,查看很多人写的文章(让我看的想放弃,更想找到答案),都没有到到 ...