【Struts2学习笔记(3)】为Action的属性注入值

(1)为什么要有属性注入?

当一些属性不适合固定写入时适合使用这种方法,对于一些使用特频繁的类或者方法,很多类都会用到,那么使用属性注入会节省更多的力气,而且在设计的时候就可以提早的把该属性给定义出来。

(2)哪些需求需要用到属性注入?

举几个比较实际的例子:日志功能、统一事务提交、当前用户附加信息的获取等等。

(3)Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。

注意:属性必须提供setter方法。

(4)具体实例

下面通过<param>节点为action的savePath属性注入“/images”

public class HelloWorldAction{
	private String savePath;

	public String getSavePath() {
		return savePath;
	}
	public void setSavePath(String savePath) {
		this.savePath = savePath;
	}
}
<package name="itcast" namespace="/test" extends="struts-default">
	<action name="helloworld" class="cn.itcast.action.HelloWorldAction" >
		<param name="savePath">/images</param>
		<result name="success">/WEB-INF/page/hello.jsp</result>
	</action>
</package>
时间: 2024-10-21 11:56:25

【Struts2学习笔记(3)】为Action的属性注入值的相关文章

Struts2 为Action 的属性注入值&amp;&amp; 处理请求后缀

在Struts2中的配置文件中,我们可以很方面的为Action中的属性注入值.注意:属性必须提供set()若在页面中显示 必须提供get() <action name="list" class="cn.itcast.action.UserAction" method="execute"> <param name="savepath">/strutsDemo</param> <resul

struts2学习笔记之六(Action访问servlet的API以及复制项目小技巧)

action和servlet分离使得action代码更加纯洁,与servlet的耦合性也降低了 但是有时候却不得不访问servlet API,比如把数据放到session,application里, 更甚至于添加cookie(response.addCookie()) strust2提供了两种方式访问servlet api 伪访问 借助于ActionContext类 Map<String ,Object > getApplication() 模拟访问http application Map&l

通过struts.xml配置为属性注入值_2015.01.04

01:web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="h

【Struts2学习笔记(3)】至Action注入属性值

(1)有属性注入? 当一些属性不适合固定写入时适合使用这样的方法,对于一些使用特频繁的类或者方法,非常多类都会用到,那么使用属性注入会节省很多其它的力气.并且在设计的时候就能够提早的把该属性给定义出来. (2)哪些需求须要用到属性注入? 举几个比較实际的样例:日志功能.统一事务提交.当前用户附加信息的获取等等. (3)Struts2为Action中的属性提供了依赖注入功能.在struts2的配置文件里,我们能够非常方便地为Action中的属性注入值. 注意:属性必须提供setter方法. (4)

struts2学习笔记(4)---------action中的方法调用

系统需要使用Action的不同方法来处理用户请求,这就需要让同一个Action里面包含多个控制处理逻辑. 1)动态方法调用 即DMI(dynamic method invocation),使用actionName!methodName的形式来指定想要调用的方法,如果想使用DMI,需要在struts.xml里面加入这句话: <constant name="struts.enable.DynamicMethodInvocation" value="true" /&

struts2学习笔记(二)—— 获取登录信息及计算在线人数

实现目的: 1.点击"Login"的超链接,进入登录页面 2.填写登录信息,提交表单,将用户信息保存进Session 3.显示用户名,并计算在线人数 4.点击"Logout"的超链接,在线人数减一,并使Session失效 Struts2实现: 1.配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:/

Struts2学习笔记(OGNL表达式)

Struts2学习笔记(OGNL表达式) Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言: JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言: Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python.Ruby和Smarttalk等)的一些起特性: Velocity,严格来说不是表达式语言,它是一种基于Ja

struts2学习笔记(一)

一.struts2和struts1的区别 1.Action类 a) Struts1要求Action类继承于一个抽象类,Struts1普遍使用抽象类编程而不是接口 b) Struts2的Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能.Struts2提供一个ActionSupport基类去实现常用的接口.Action接口不是必须的,任何有execute标识的POJO对象都可以作为Struts2的Action对象. 2.线程模式 a) Struts1的Act

struts2学习笔记(7)------------ognl表达式

OGNL表达式(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言.是一种可以方便地操作对象属性的开源表达式语言. Struts2自行维护一个特定范围的"银行",Action将数据放入其中,而JSP页面可从中取数据,表面上似乎看起来像是jsp可以直接访问Action数据.. 当Action属性不再是简单的值,而是某个对象,数组,集合时,就需要使用ognl表达式来访问这些对象,数组,集合内的数据了. 1)ognl的stack Conte