Struts 2 数据标签教程

Struts 2 数据标签例题

 

在这个例子中我们将学习怎样使用property标签,set标签,push标签。这些标签是Struts 2的数据标签。之前我们已经了解到什么是动作上下文(ActionContent)和值栈(ValueStack)。

  • 动作上下文(ActionContext)是一个全局存储区域。它保存着处理请求关联的所有数据。
  • 动作上下文(ActionContext)是单线程的。这确保了Struts 2的动作(action)的线程安全。
  • 值栈(ValueStack)是动作上下文(ActionContext)的一部分。Struts 2的动作(action)驻留在值栈(ValueStack)中。

Property标签

property标签被用来从值栈(ValueStack)或在动作上下文(ActionContext)中的其他对象,如application或seesion中取得对象。下面我们来看看如何使用property标签。

 

下面是AlbumInfoAction类:

 

下面是Artist类:

 

让我们来看看怎么在jsp页面通过property标签访问动作(action)类属性。以下是albumDetails.jsp页面的代码:

 

我们可以看到title是AlbumInfoAction的属性,所以可以直接访问它。但是name和bio是Artist类的属性,所以我们需要更深一步的访问,我们需要使用第二级OGNL表达式去访问它们。

 

Set标签

 

set标签被用来为属性值设置另外一个名称,可以帮助更快更方便的访问属性。当我们使用property标签访问artist的名字,需要更深一层的访问。取而代之,我们可以在动作上下文(ActionContext)中设置另外一个属性,并直接访问它。举例如下:

 

artistName和artisBio属性将被保存在动作上下文(ActionContext)中。引用它们的时候要用#objectName语法。

 

也可以将属性值保存到session中。

 

用同样的方法,也可以将属性值保存到动作上下文(ActionContext)中的其他对象里去。

 

Push标签

 

我们可以使用push标签向值栈(ValueStack)中保存值。这个值会在值栈(ValueStack)的最上端,所以可以代替深层引用使用一级OGNL表达式进行引用。代码如下:

 

源代码:下载

源代码 + lib:下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值