码迷,mamicode.com
首页 > 其他好文 > 详细

struts2标签取值方式

时间:2015-10-21 15:59:10      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:struts   标签   

1.标签取值方式一

    通过<s:property value="" />取值

    当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;

    当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;

    例子:

    假设某Action中有person成员变量,在application中存在company属性

    那么我们可以通过以下方法取值:

    <s:property value="person.name" />

    <s:property value="#person.name" />

    <s:property value="company.name" /> //无法取到,因为company不在action的valueStack中

    <s:property value="#company.name" />

2.标签取值方式二

在任意的<s:/>标签内使用%{}来取值

当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;

当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;

例子:

假设某Action中有person成员变量,在application中存在company属性

<s:textfield name="person.name" value="person.name" /> //错误,value会直接显示person.name字样

<s:textfield name="person.name" value="%{person.name}" />

<s:textfield name="person.company.name" value="%{#company.name}" />

<s:textfield name="person.company.name" value="%{#attr.company.name}" />

3.获取JSP页面的request,session,application中的属性

   在页面中可以这样获取:

<td>${applicateionScope.counter}</td>

<td>${sessionScope.counter}</td>

<td>${requestScope.counter}</td>

或者直接这样用:${属性} ${userBean.username}。userBean可以是request或session中的对象。

struts2中的Action代码中的内容为:

ActionContext ctx = ActionContext.getContext();

ctx.getApplication.put("counter",new Integer(5));

ctx.getSession.put("counter",new Integer(5));

ctx.put("counter",new Integer(5));

ctx.put就是直接设置request的值。

也可以使用以下方式获得request:

HttpServletRequest r = ServletActionContext.getRequest();

HttpServletResponse resp = ServletActionContext.getResponse();

struts2还提供了以下接口:

ServletContextAware:Action实现该接口,可以直接访问ServletContext。

ServletRequestAware:Action实现该接口,可以直接访问HttpServletRequest。

ServletResponseAware:Action实现该接口,可以直接访问HttpServletResponse。


本文出自 “没有水勒鱼” 博客,请务必保留此出处http://javaqun.blog.51cto.com/10687700/1704858

struts2标签取值方式

标签:struts   标签   

原文地址:http://javaqun.blog.51cto.com/10687700/1704858

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!