struts2标签取值方式

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。

时间: 2024-07-30 19:04:27

struts2标签取值方式的相关文章

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式

loadrunner脚本中写入脚本输出log到外部文件,分析参数取值方式 分类: 心得 loadrunner 我的测试 2012-04-01 12:52 2340人阅读 评论(0) 收藏 举报 脚本loadrunnerstreamfilestring测试 .controller中运行脚本时无法查看输出log,可以手动写入代码输出log到外部文件,通过查看该log获得相关信息: 以下脚本是为了分析场景中多用户运行时参数列表如何取值(id,groupid,sid,uname),设置集合点后通过查看时

SSH中各种形式的取值方式

现在这个项目是用SSH来开发的,遇到很多取值方式,在此总结一下,因为一直在用,很容易弄混,取值有问题: JSP通过url参数值取值: 例如:http://127.0.0.1:8080/portal/login!toAddPag.action?keyCode=1234555 通过以下语句取值: <% String keyCode=request.getParameter("keyCode"); %> 在页面中显示值:有以下两种方式: 第一: <%=keyCode  %&

转+总结!! 关于jsp页面取值方式

1.      前台往后台传值,通过提交表单,在后台有set,get方法,可以直接取到.如果通过request.getParameter(paramName) 去获取通过会报空指针异常. 其中request是HttpServletRequest的实例.解决的方法是,在后台action类里面定义request的get/set方法.其中get方法要这样写: public HttpServletRequest getRequest() { if (request == null) request =S

struts2 &lt;s: select 标签取值

JSP页面: <s:select label="父级导航"  value="id" name="navson.pid" list="navs"  listKey="id" listValue="name"  key="name"   cssStyle="width:130px"> 后台: private  List<Nav>

关于select标签取值和设置值

获取当前select的选中值可以这样做: var osName = $("#selOsName").find("option:selected").val();或者直接var osName = $("#selOsName").val();实际测试好用建议第一个比较好. 设置select选中某一值可以这样做: $("#selOsName option[value='"+osName+"']").attr(&q

easyui-textbox input输入框的一种取值方式

1.html文件 <td> <input id="clientPhone" type="text" name="clientPhone" style="width:150px;" class="easyui-textbox" data-options="required:true" > <span id="hidd">已输入<

关于Struts2中的值栈与OGNL表达式

1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. Struts2框架使用OGNL作为默认的表达式语言. OGNL相对其它表达式语言具有下面几大优势: 1.支持对象方法调用,如xxx.doSomeSpecial(): 2.支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法名 |  值名],例如: @[email prot

jsp脚本、jsp声明、jsp输出表达式、javascript、jsp标签、struts2标签

1. 先界定一下题目中概念. (1)jsp脚本:有的地方也叫java脚本,指用<%     %>括起来的jsp页面中的java脚本.所有能在java程序中执行的代码,都可以通过jsp脚本执行. (2)jsp声明:用<%!声明部分%>形式声明的变量和方法.可以直接用在jsp脚本中. (3)jsp输出表达式:用<%=表达式    %>输出表达式的值,效果与jsp脚本中的out.println相同.表达式后面不能有分号. (4)javascript:页面中<script

LoadRunner参数化取值与连接数据库

LoadRunner参数化取值与连接数据库 LoadRunner在使用参数化的时候,通常都是需要准备大数据量的,也因此LoadRunner提供两种参数化取值方式,一种是手动编辑,另一种就是通过连接数据库取值.一般在大型业务并发压力测试时,数据量肯定也都是非常大的,所以手动去编辑当然就不切实际了,还好有连接数据库的功能,所以就方便了很多.不过提供连接数据库的功能到不是为了方便去取数据,而更重要的应该是借用数据库的造数据功能,通过简单的sql语句,便可以完成大量可复用的数据,这就是数据库的强大之处.