`
tanglei528
  • 浏览: 24528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类

在jsp页面通过struts2标签对Object进行排序

阅读更多
     ×××××××××××××××××××××××××××

  注意:是Object的,不是自己定义的对象



首先,介绍一下struts2的iterator标签

     

iterator标签主要是用于迭代输出集合元素,如list set map 数组等,在使用<s:iterator/>标签的时候有三个属性值得关注:

1. value属性:可选的属性,value属性是指一个被迭代的集合

2.id属性:可选属性, 是指集合元素的id

3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法:

int getCount(); 迭代元素个数

int getIndex(); 迭代元素当前索引

boolean getFirst(); 是否为第一个

boolean getEven(); 是否为偶

boolean getLast(); 是否最后一个

bolean getOdd();   是否为奇

由于iteratorstatus对象并不是ognl的根对象因此访问需要加上 #访问如下例子:

<s:iterator value="{'a','b','c','d'}" status=”sta”><!--st是随便取得名字-->

   <s:if test=”#sta.odd”><!--判断是否为奇数-->

      <s:property value=”#st.index”/><!--显示当前元素索引-->

   </s:if>

</s:iterator>



此外:iterator也可以迭代map对象,通过key-value 迭代

<s:iterator value="mapPerson"><!--mapPerson为action中的map集合,有它的get和set方法-->

     <s:property value=”key”/>   <!--key值-->

     <s:property value=”value”/>   <!--value值-->

</s:iterator>

 

在查询数据库的时候,只查询某两个字段,返回的就会是Object类型的集合,当然,在java类中输出是很简单的。在jsp中的输出就会有点小麻烦,关键是如何从jsp中获取它的下标!!!

action中:

public class ServiceSearch{

     private List<Object> listObj;//有get和set方法

    public String getReleaseData(){

  HttpServletRequest request = ServletActionContext.getRequest();
         HttpSession session = request.getSession();
         Long id = (Long)session.getAttribute("orgId");//这是我获取的组织id
        listObj = serviceManageService.getProvidingServiceDESCByOrgId(id); //根据组织id查询数据库中某两个字段(这里我查到是名字和数量,根据数量降序)  ,返回的是object类型的集合
  return "jumpToListMyReleaseMap";  //跳转到jsp页面





jsp页面:



<s:iterator value="listObj" status="s">            
       <tr>
        <td><s:if test="#s.index==0">第一名</s:if><s:if test="#s.index==1">第二名</s:if><s:if test="#s.index==2">第三名</s:if></td><!--这是我判断前三名-->
        <td><s:if test="#s.index<3"><s:property value="listObj[#s.index][0]"/></s:if><s:else>other</s:else> </td><!--名字。这里取前三名的名字,后面的都不显示名字-->
        <td><s:property value="listObj[#s.index][1]"/></td> <!--数量-->     
       </tr>
      </s:iterator>
}

}

 

 

一次写完的 也没有检查,不知道有没有错误呢
0
3
分享到:
评论
1 楼 luohaobubu 2012-03-19  

相关推荐

    java面试题

    答:在Struts2里面是将每次页面的请求进行处理,然后将请求需要输出的数据转发到需要做数据显示的页面。Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将...

    ARCH4系统开发指南

    2.6.3 在jsp页面中翻译代码 18 2.7 如何使用取单号服务 18 2.7.1 配置文件 19 2.7.2 取单号使用方式 19 2.8 如何使用Hibernate操作Informix数据库 20 2.8.1 实现对LOB数据对象的支持 20 2.8.1.1 配置...

    java面试宝典

    233、说出在JSP页面里是怎么分页的? 55 234、存储过程和函数的区别 55 235、事务是什么? 55 236、游标的作用?如何知道游标已经到了最后? 55 237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发...

    千方百计笔试题大全

    233、说出在JSP页面里是怎么分页的? 55 234、存储过程和函数的区别 55 235、事务是什么? 55 236、游标的作用?如何知道游标已经到了最后? 55 237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发...

    Java语言基础下载

    使用DDL,DML语言对数据库进行基本操作 338 查询数据库里的数据 339 预编译语句(PreparedStatement) 340 使用事务 341 事务的级别控制 343 使用存储过程 345 操作元数据 347 ResultSetMetaData(结果集元数据) 349...

    超级有影响力霸气的Java面试题大全文档

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    java 面试题 总结

    在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。...

    java基础题 很全面

    16. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 22 17. 说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld....

    Java学习笔记-个人整理的

    {2}Everything is an Object }{45}{chapter.2} {2.1}类与对象}{45}{section.2.1} {2.1.1}构造方法}{45}{subsection.2.1.1} {2.1.2}Java变量类型}{47}{subsection.2.1.2} {2.1.3}面向对象的编程}{47}{subsection...

    最新Java面试宝典pdf版

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    Java面试宝典2010版

    10、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 11、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp...

    Java面试笔试资料大全

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    JAVA面试宝典2010

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    Java面试宝典-经典

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    java面试题大全(2012版)

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    Java面试宝典2012版

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和...

    java面试宝典2012

    按提交键就在另一页面显示按什么排序,结果为,提供reset 99 五. 数据库部分 99 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 99 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    Java面试宝典2012新版

    按提交键就在另一页面显示按什么排序,结果为,提供reset 91 五. 数据库部分 91 1、用两种方式根据部门号从高到低,工资从低到高列出每个员工的信息。 91 2、列出各个部门中工资高于本部门的平均工资的员工数和部门...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

Global site tag (gtag.js) - Google Analytics