<s:iteratorjs valuee="list"> 在js中使用的问题

谈谈你mvc的理解_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
谈谈你mvc的理解
上传于|0|0|文档简介
&&谈谈你mvc的理解
你可能喜欢Struts2中&s:iterator&基本用法及示例
走自己的路,让自己走得更好!
Struts2中&s:iterator&基本用法及示例
Iterator用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
名称 必需 默认 类型 描述
status 否 String 如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈
value 否 Object/String
要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象
id 否 Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
&%@ page contentType=”text/ charset=UTF-8&P
&%@ page import=”java.util.List”
&%@ page import=”java.util.ArrayList”
&%@ taglib prefix=”s” uri=”/struts-tags”
&!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01
Transitional//EN”&
List list = new ArrayList();
list.add(“Max”);
list.add(“Scott”);
list.add(“Jeffry”);
list.add(“Joe”);
list.add(“Kelvin”);
request.setAttribute(“names”, list);
&title&Iterator&/title&
&h3&Names:
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。
IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
&s:iterator value=”#request.names”
status=”stuts”&
&s:if test=”#stuts.odd ==
&li&White &s:property
style=”background-color:gray”&&s:property
&/s:iterator&
在struts2中,iterator标签是很好用的,但也要注意一下.举个例子,
如果要在每行中只显示两条记录,这个经常用到的例子来的了,可以这样用:
&table width=”800px”
align=”center”&
&s:iterator value=”songs”
status=”st”&
&input type=”checkbox” name=”songIds”
id=”&s:property value=’id’/&”
value=”&s:property
value=’id’/&”&&label
for=”&s:property
value=’id’/&”&
&s:property value=”name”/&
&s:if test=”#st.modulus(2)==0&P&
&s:if test=”#st.last”&
&/tr&&/s:if&
&/tr&&tr&&/s:else&
&/s:iterator&
这里无非就是要注意 &s:if
test=”#st.modulus(2)==0&P&
来判断整除2是否为0,(也可以用&s:if
test=”#st.getIndex()%2==0)
并且注意如下的使用 #st.last,判断是否到了最后一条记录,并且注意:
iterator标签有如下方法:
boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
= =====另附参考文章:
=============
今天同事写程序时恰好遇到这个Struts2+Hibernate开发时比较典型的问题:
(1)Hibernate使用SQLQuery查询部分字段提高效率;
(2)Struts2使用迭代标签s:iterate显示嵌套的Map和List以及数组这样比较复杂的分组一类问题中常棘手的数据结构
所以晚上写下这个程序供大家参考。
一、服务端Action和DAO类:
view plaincopy to clipboardprint?
@SuppressWarnings("serial")
class SomeAction extends ActionSupport{
public String execute() throws Exception{
return SUCCESS;
public Map&String,
List&String[]&&
getResults(){
return new SomeDAO().getGroupedRecords();
class SomeDAO extends TBaseDAO{
public SomeDAO(){
@SuppressWarnings("unchecked")
public Map&String,
List&String[]&&
getGroupedRecords(){
//在表中基于type和code字段分组
String sql = "select type, code, count(*) count from table_1 group
by type, code";
//使用SQLQuery, 只取出必要的列:code、type和基于此code和type的分组的记录数
SQLQuery query =
HibernateSessionFactory.getSession().createSQLQuery(sql);
query.addScalar("type", new org.hibernate.type.StringType());
query.addScalar("code", new org.hibernate.type.StringType());
query.addScalar("count", new
org.hibernate.type.StringType());
//查出记录
List&Object[]& rs =
query.list();
Map&String,
List&String[]&&
categorys = new HashMap&String,
List&String[]&&(10);
for (Object[] objects : rs) {
String type= (String)objects[0];
List&String[]& list =
categorys.get(type);
if (list == null){
list = new
ArrayList&String[]&();
categorys.put(type, list);
list.add(new String[]{type, (String)objects[1],
(String)objects[2]});
@SuppressWarnings("serial")
class SomeAction extends ActionSupport{
public String execute() throws Exception{
return SUCCESS;
public Map&String,
List&String[]&&
getResults(){
return new SomeDAO().getGroupedRecords();
class SomeDAO extends TBaseDAO{
public SomeDAO(){
@SuppressWarnings("unchecked")
public Map&String,
List&String[]&&
getGroupedRecords(){
//在表中基于type和code字段分组
String sql = "select type, code, count(*) count from table_1 group
by type, code";
//使用SQLQuery, 只取出必要的列:code、type和基于此code和type的分组的记录数
SQLQuery query =
HibernateSessionFactory.getSession().createSQLQuery(sql);
query.addScalar("type", new org.hibernate.type.StringType());
query.addScalar("code", new org.hibernate.type.StringType());
query.addScalar("count", new
org.hibernate.type.StringType());
//查出记录
List&Object[]& rs =
query.list();
Map&String,
List&String[]&&
categorys = new HashMap&String,
List&String[]&&(10);
for (Object[] objects : rs) {
String type= (String)objects[0];
List&String[]& list =
categorys.get(type);
if (list == null){
list = new
ArrayList&String[]&();
categorys.put(type, list);
list.add(new String[]{type, (String)objects[1],
(String)objects[2]});
二、页面端Output.jsp
& contentType="text/
charset=GBK"%&
&%@ taglib prefix="s"
uri="/struts-tags"%&
&% int count = 0; // 用于计算换行的变量
&s:iterator value="results" &
&!-- 第一层迭代getResults()的顶层HashMap,
并为HashMap&String,
List&String[]&&
中的每一个类型对应的列表List生成一个表格 --&
&s:label value="key" /&
&!-- 显示HashMap的key值--&
&% count = 0; %&
&!-- 通过value取HashMap的每一个List, 开始迭代List
&s:iterator value="value"
status="status"&
&!-- 每5条记录一行显示--&
&% if( count % 5 == 0) { %&
&!-- 每一个单元格中打印号码及基于类型和此号码的查询分组的记录数量
&s:property value="value[#status.index][1]"
(&s:property value="value[#status.index][2]"
&% if( count % 5 == 0) { %&
&/tr& &% }
&% count ++; %&
&/s:iterator&
&/s:iterator&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
Struts2 常用标签使用(三十九)
下载积分:30
内容提示:Struts2 常用标签使用(三十九)
文档格式:PDF|
浏览次数:34|
上传日期: 19:23:13|
文档星级:
该用户还上传了这些文档
Struts2 常用标签使用(三十九)
官方公共微信判断字符串的问题:
、判断单个字符:
这样是从中取出的值,并且判断其是否为,但是这样判断是不正确的,这样判断的话,根本判断不出来,要改成下面这样:
这样判断才能正确判断,至于原因我也不知道,在网上看到中可能它判断的是类型。
、判断字符串:
这样写的就是判断是不是,是的判断,这个是不用加的。
、判断数值:
这样写的就是判断是不是,是的判断。
:判断为空的问题:
中的判空似乎只能这么写
判断非空可以这样写:
&s:set name=&name& value=&model.userId& /&
&s:if test=&#name == 'luozhh'&&
Luozhh's file here
&s:elseif test=&#name == 'Scott'&&
Scott's file here
&/s:elseif&
Other's file here
c:&s:iterator&的使用
1 &s:iterator
value=&#session.user& id=&info&&
&s:property value=&#info.name&/&
&s:property value=&#info.passWord&/&
<span style="color:# &/s:iterator&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3610次
排名:千里之外
原创:34篇
转载:157篇
(151)(19)(16)(5)

我要回帖

更多关于 js value 的文章

 

随机推荐