JSP遍历显示为多列
<tr>
<td height="26" bgcolor="#FFFFFF" align="right" rowspan="2">
授予角色:
</td>
<td bgcolor="#FFFFFF" align="left" colspan="3">
<table width="320">
<tr>
<s:iterator id="xtjss" value="xtjs" status="statu">
<td >
<input type="checkbox" name="xtjss<s:property value='#xtjss.jsdm'/>" value="<s:property value='#xtjss.jsdm'/>"/>
<s:property value='#xtjss.jsmc'/>
</td>
<s:if test="%{#statu.index > 0 && (#statu.index+1)%3==0}">
</tr><tr>
</s:if>
</s:iterator>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="selectAll" id="selectAll" onclick="setAll()"/>
全选
</td>
</tr>
</table>
</td>
</tr> </tr>
<tr>
<td height="26" bgcolor="#FFFFFF" align="right" rowspan="2">
授予角色:
</td>
<td bgcolor="#FFFFFF" align="left" colspan="3">
<table width="320">
<tr>
<s:iterator id="xtjss" value="xtjs" status="statu">
<td >
<input type="checkbox" name="xtjss<s:property value='#xtjss.jsdm'/>" value="<s:property value='#xtjss.jsdm'/>"/>
<s:property value='#xtjss.jsmc'/>
</td>
<s:if test="%{#statu.index > 0 && (#statu.index+1)%3==0}">
</tr><tr>
</s:if>
</s:iterator>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="selectAll" id="selectAll" onclick="setAll()"/>
全选
</td>
</tr>
</table>
</td>
</tr> </tr>
其中“#statu.index > 0 && (#statu.index+1)%3==0”条件,是0、1、2换行3、4、5再换行。。。
主要就是用了下iterator 标签的status属性
以下是网上找的一些资料:
struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几个简单的demo:
s:iterator 标签有3个属性:
value:被迭代的集合
id :指定集合里面的元素的id
status:迭代元素的索引
1:jsp页面定义元素写法 数组或list
Java代码
<s:iterator value="{'1','2','3','4','5'}" id='number'>
<s:property value='number'/>A
</s:iterator>
<s:iterator value="{'1','2','3','4','5'}" id='number'>
<s:property value='number'/>A
</s:iterator>
打印结果为: 1A2A3A4A5A
2:索引的用法
如果指定了status,每次的迭代数据都有IteratorStatus的实例,它有以下几个方法
int getCount()返回当前迭代了几个元素
int getIndex()返回当前元素索引
boolean isEven()当然的索引是否偶数
boolean isFirst()当前是否第一个元素
boolean isLast()
boolean isOdd()当前元素索引是否奇数
Java代码
<s:iterator value="{'a','b','c'}" id='char' status='st'>
<s:if test="#st.Even">
现在的索引是奇数为:<s:property value='#st.index'/>
</s:if>
当前元素值:<s:property value='char'/>
</s:iterator>
<s:iterator value="{'a','b','c'}" id='char' status='st'>
<s:if test="#st.Even">
现在的索引是奇数为:<s:property value='#st.index'/>
</s:if>
当前元素值:<s:property value='char'/>
</s:iterator>
3:遍历map
value可以直接定义为:
value="#{"1":"a","2":"b"}"
每个元素以都好隔开。元素之间的key和value 冒号隔开
value也可以是数据栈里面的java.util.Map对象
遍历写法如下:
Java代码
<s:iterator value="map" id="id" status="st">
key : <s:property value='key'/>
value:<s:property vlaue='value'/>
</s:iterator>
<s:iterator value="map" id="id" status="st">
key : <s:property value='key'/>
value:<s:property vlaue='value'/>
</s:iterator> 当然key 和value 都可以使java 的 Object
4:遍历数据栈.简单的List类,
Java代码
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
<s:iterator value="label" id="id">
<s:property value="#id.attrName" />
</s:iterator>
List<Attr>
class Attr{String attrName;String getAttrName(){return "123";}}
<s:iterator value="label" id="id">
<s:property value="#id.attrName" />
</s:iterator> 当然value 还可以写成 value="%{label}" label可以有.操作
label的属性List 可以写成value="%{label.list}" 相当于:getLabel().getList();
5:遍历2个list;
Java代码
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}
List<AttrName> attrN {color,size,style}
List<AttrValue> attrV {red,20,gay}这2个list的元素是一一对应的,一个attrN对应一个attrV
Java代码
<s:iterator value="%{attrN }" id="id" status="status">
index is : <s:property value='status.index'/>
attrName is : <s:property value='id'/> or <s:property value='%{id}'/>
attrName is : <s:property value='%{attrV[#status.index]}'/>
分享到:
相关推荐
### JSP遍历文件夹下的文件的代码解析 #### 一、引言 在Web开发中,有时我们需要在服务器端处理文件系统中的数据,比如列出某个目录下的所有文件或子目录。这种需求可以通过多种方式实现,其中一种常用的技术是...
例如,如果某个属性值是一个字符串,而你希望将其拆分为多个部分显示,可以使用Java的`split()`方法或者JSTL的`fn:split()`函数。假设你的VO有一个`separatedData`属性,其中包含逗号分隔的数据,你可以这样做: ``...
遍历ResultSet,提取每一行的列值,这些值可以用于构建HTML表格或其他显示格式。 5. **JSP标签库**:在JSP中,可以使用JSTL(JavaServer Pages Standard Tag Library)来简化数据库操作。例如,`<sql:query>`标签...
24. 在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将JSP的变量或者bean...
在导入数据到数据库前,我们需要先使用POI读取Excel文件,遍历所有行和列,获取到数据后,再按照数据库字段的映射关系,将这些数据转换成适合插入数据库的格式。 具体流程可能如下: 1. 使用POI API打开Excel文件。...
-- 更多列 --> <!-- 分页导航 --> ${fn:length(books) / pageSize}" /> <!-- ...创建页码链接... --> ``` 综上所述,JSP结合Java和JDBC提供了对数据库的增删改功能,同时通过分页技术优化了大量数据的显示,...
1. **主界面设计**:`index.jsp`页面使用for循环遍历商品数组,并为每个商品创建超链接,链接指向`shopcart.jsp`。 2. **登录界面与处理**:`Dljm.htm`是登录界面,`Cljm.jsp`负责处理登录请求。当用户名为`admin`...
这可能涉及到使用JSP的EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)标签来遍历和显示`request`对象中的主题帖列表。 最后,处理可能出现的编码问题。对于POST提交方式导致的中文乱码...
- `request.getParameterNames()`:列出所有提交的参数名,可用于遍历所有表单数据。 - `session`和`application`对象:可用于存储会话或全局级别的数据,比如用户登录信息。 - JSP脚本元素:`<%= %>`用于输出...
在JSP中如何调用浏览器中的"另存为"功能? 25. 网页全屏显示 26. 求两个日期相隔了多少天:输入时间格式为(yyyy-mm-dd) 27. 上传文件对话框 28. 分页测试 29. 下载文件 30. 简单汉字判断 31. 将...
主键是数据库表中唯一标识记录的一列或多列,它确保了数据的唯一性和完整性。在分页查询中,主键可以作为排序和定位记录的关键依据,使得查询更高效。例如,可以使用主键值来确定数据的位置,从而快速获取特定页面的...
- JSP页面从session或response中取出数据,遍历并显示在页面上。 - 同时,创建一个导航栏,显示页码,允许用户跳转到其他页面。这个导航栏需要根据总页数动态生成。 4. **交互逻辑**: - 用户点击页码或“下一页...
-- 更多列 --> List<DataObject> dataList = ...; // 从数据库或其他数据源获取数据 for (DataObject data : dataList) { %> <td><%= data.getColumn1() %> <td><%= data.getColumn2() %> <!-- 更多...
在实际应用中,可能还需要考虑其他因素,比如表头的合并、多列合并等。结合提供的"效果图.png",你可以更好地理解这一实现方式在页面上的视觉效果。 总结起来,JSP动态合并单元格是通过JSTL的C标签库实现的,主要...
【标签】"分页查询"和"Oracle"表明本示例主要关注如何在JSP中利用Oracle数据库进行分页查询,这涉及到SQL查询优化、JDBC操作和JSP编程等多个技术领域。对于Oracle数据库,了解其特有的分页方法和性能优化策略是至关...
**标签** "JSP文件 所在目录 文件信息" 指的是我们正在处理的JSP文件,我们关注的是获取JSP页面所在目录并列出其中的文件信息。在压缩包中的`io`文件可能包含了一些用于处理I/O操作的示例代码或工具类,这些可以帮助...
2. **留言展示**:JDBC查询数据库中的所有留言,将结果集转化为Java对象(如Message类),再使用JSP的EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签来遍历并显示这些对象。...
而Controller部分可能在未显示的Servlet或JSP动作中,负责处理用户请求并调用JavaBean。 总结,`jsp+javaBean查询数据库`涉及的关键点包括JSP与JavaBean的协作、数据库连接与查询、结果集处理、JavaBean的属性与...
乘法表的实现通常会包含两个嵌套循环,一个用于行数,另一个用于列数,通过遍历所有可能的乘积组合来生成表格。 接下来是聊天室功能。聊天室是一个实时交互的应用,它需要处理用户输入并显示其他用户的聊天消息。在...
下面,我们将详细探讨如何在JSP中读取数据库数据并将其显示为竖向布局的表格。 首先,我们需要连接到数据库。在JSP中,我们通常使用Java的JDBC(Java Database Connectivity)API来完成这项任务。以下是一个简单的...