Struts2 iterator介绍及功能详解

开发 后端
本文着重介绍Struts2 iterator。Struts2 iterator主要的的作用就是跌代出集合。这里还为大家列出使用Struts2 iterator可能出现的错误。

一、Struts2 iterator介绍.

这个标签主要的的作用就是跌代出集合。。

value属性表示需要跌代显示出来的值。

status属性,又来保存跌代时的一些状态值。

注:1.如果需要引用valueStack中的值,需要使用这样的形式。

//userList在action部分被保存在Request中,所以使用#加属性名来引用值。

2.如果集合的值是通过action的方法,假设我们的action中有一个getListMenu方法,返回一个List集合。

我们可以使用如下的形式来引用这个集合,并用s:iterator来输出。

3.Struts2 iterator的value使用定义好的方式,如:

//这样跌代输出的值就是1.2.3.4这四个值。

二、Struts2 iterator中输出具体值,如果,在上面我们的list中的对象,有两个属性,都是String类型,一个是name,一个是url。

我们可以这样来引用。

1.  //这样我们将可以输出跌代对象的name属性值。

2. 如果我们希望使用来将跳转过后的url进行处理,该如何来做?

 //%{}ognl的表达式,这样的值能够将url的值进行的处理

实际上就是转为绝对路径。这样,我们就可以对付一些因跳转换产生的路径问题。

原因:因为以后,当前的对象应该就在ValueStack顶部了,这样当然的url实际上就是对象的url属性了

三、使用ognl输出对应的值。

使用此表达式,会生成一个文本框,并且,如果request.attribute中有loginNames属性,将会做为些文本框的默认值。

如果只使用#request.loginNames在struts2的标签内部,是不会显示任何值的,注意外面加上的%{}附号,才会被正常的使用。

如果希望如EL语言一样直接输出文件,如在一个之间的innerHTML文本为#request.loginNames的值,我们只要使用:使可以正常使用!

注:

1.${}是EL语言的 %{}这样的形式是ognl表过式语言的,在struts2的标签内部,使用%{}这样的形式,在标签外部可以使用${}EL语言的方式。如果在struts2的标签内部使用${}这样的方式,会出现以下的错误提示:

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

2.很多时候,我们使用struts2的一些标签,属性是需要接受集合的,如果集合是保存在request,session,或者是值栈(非根对象的栈顶),可以使用#变量名的方式,如果获取的值是在Action中通过特定的方法来获取,就需要使用如 value="userList"这样的方式,只是去掉了前面的#。

3.可能我对一些值栈,根对象,栈顶的一些ognl知识有些不错误,如果发现了问题,请帮助指出,谢谢。

【编辑推荐】

  1. 在Eclipse中开发struts应用程序
  2. 手把手教你在Eclipse中配置开发Struts
  3. Eclipse下开发struts完整解决乱码问题
  4. Struts相关背景介绍
  5. 使用Easy Struts for Eclipse开发Struts
责任编辑:张燕妮 来源: baidu.com
相关推荐

2011-05-13 09:53:02

strutsAjax

2009-07-29 09:54:34

struts2和str

2012-08-30 09:48:02

Struts2Java

2009-06-05 10:52:45

struts2深入详解配置文件

2009-06-05 09:58:20

struts2验证用户注册

2009-06-25 15:11:28

Struts2教程Struts2程序

2009-02-04 10:51:07

2009-06-05 10:43:29

struts2 checheckbox实例

2009-06-04 08:34:24

Struts2配置struts.xml

2009-07-03 09:35:57

Struts2 JSP

2009-07-14 17:10:44

struts2webwork

2009-06-03 14:19:34

Struts2Guice

2013-07-18 15:09:27

2009-06-25 16:04:30

2009-06-04 09:20:19

struts2 if标使用

2009-06-25 15:26:25

Struts2教程struts.xml常

2012-05-10 14:00:06

StrutsjsonJava

2011-08-19 13:13:14

struts2Java

2013-07-19 09:36:04

struts2struts2漏洞

2009-02-04 11:37:15

点赞
收藏

51CTO技术栈公众号