首页 > 代码库 > Struts2标签取值方式

Struts2标签取值方式

1.标签取值方式一

    通过<s:property value=http://www.mamicode.com/"" />取值

    当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
    当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
    例子:
    假设某Action中有person成员变量,在application中存在company属性
    那么我们可以通过以下方法取值:
    <s:property value=http://www.mamicode.com/"person.name" />
    <s:property value=http://www.mamicode.com/"#person.name" />
    <s:property value=http://www.mamicode.com/"company.name" /> //无法取到,因为company不在action的valueStack中
    <s:property value=http://www.mamicode.com/"#company.name" />

2.标签取值方式二

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

当Action的valueStack中有该属性的值时,只需直接使用该属性的名字即可;
当Action的valueStack中没有该属性的值时,比如在session,application范围中的属性值时,需要加#或者#attr.;
例子:
假设某Action中有person成员变量,在application中存在company属性
<s:textfield name="person.name" value=http://www.mamicode.com/"person.name" /> //错误,value会直接显示person.name字样><s:textfield name="person.name" value=http://www.mamicode.com/"%{person.name}" />><s:textfield name="person.company.name" value=http://www.mamicode.com/"%{#company.name}" />><s:textfield name="person.company.name" value=http://www.mamicode.com/"%{#attr.company.name}" />

这里区别于c标签的${}方式

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

   在页面中可以这样获取:

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

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

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

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

Struts2标签取值方式