set 标签用于定义一个变量。通过此标签可以给定义的变量赋值,以及设置变量的作用域(application、request、session)。在默认情况下,通过set标签所定义的变量被放置到值栈中。
语法:
set 标签的属性说明如表所示。
名称 | 是否必须 | 类型 | 说明 |
---|---|---|---|
scope | 可选 | String | 设置变量的作用域,它的值可以是application、request、session、page或action,默认值为action |
value | 可选 | String | 设置变量的值 |
var | 可选 | String | 定义变量的名称 |
在页面中引用 <s:set> 标签,设定 scope 属性,限定参数的适用范围。
创建一个 Action 文件,在其中设定需要的数据和处理代码。
创建 jsp 文件,在其中引用 set 标签,并对 scope 属性设定不同的属性值,关键代码如下:
<body>
<!--将表达式user.username的值保存在默认范围中,即action范围-->
<s:set name="name" value="user.username"/>
<h4>从默认的action上下文中取出name</h4>
<s:property value="#name"/>
<!--将表达式user.username的值保存到session范围中-->
<s:set name="name" value="user.username" scope="session"/>
<h4>设定了Session范围中的值并从session范围中取出name</h4>
<s:property value="#session.name"/>
</body>