Struts2的action

 

Action对象

Action对象用于对HTTP请求进行处理。在Struts2 API中,Action对象是一个接口。创建Action对象都需要直接或间接实现此对象。

经常extends ActionSupport类。

 

其方法声明:

public interface Action{

public static final String SUCCESS="success";

public static final String ERROR="error";

public static final String INPUT="input";

public static final String LOGIN="login";

public String execute() throws Exception;

}

 

SUCCESSAction执行成功,并返回到成功页面。

NONE:Action执行成功,但不需要返回到成功页面。

ERROR:验证失败。

INPUT:需要返回到某个输入信息的页面。例如在修改某些信息时,加载数据后需要返回到修改页面。

LOGIN:用户登录Action验证失败,需要用户重新登录。

 

 

动态ActionDMI


Action请求的处理方式并非一定要通过execute方法处理,使用动态Action的处理方式更加方便。在实际的项目开发中,可以将同模块的一些请求封装到一个Action对象中,使用Struts2提供的动态Actioni对不同请求进行处理。例如对一个对象进行CRUD操作,如果创建多个Action对象,编写多个execute方法是很繁琐的。Struts2的动态Action的处理方式是通过请求Action对象中一个具体的方法实现动态的操作。action!方法名。

 

Struts2多视图(JSPVelocityFreemarker

Struts2支持JSP视图、Freemarker视图、Velocity视图。

<result name=”success” type=”freemarker”>test.ftl</result>

<result name=”success” type=”velocity”>test.vm</result>

 

ActionJSP交互

strut2 在action属性的值可以通过值栈传送到页面

 

源文档 <http://www.baidu.com/s?bs=struts2+%D6%B5%D5%BB+%B1%EA%C7%A9&f=8&rsv_bp=1&wd=struts2+%D6%B5%D5%BB+%B1%EA%C7%A9&inputT=0>

 setter方法注入

请求参数的注入原理:

表单提交的数据自动注入到与Action对象中对应的属性(setter方法)。getter方法是用于获取这个属性的值。


Domain Model

JSPUser对象。

Action接收User对象。


ModelDriven

如果一个ActionModelDriven对象(是否实现了ModelDriven接口),则会调用getModel方法获取实体对象模型,获取到实体对象后,将其返回。

Action访问sessionrequestapplication

Struts2中提供了Map类型的requestsessionapplication可以从ActionContext中获得。ActionContext位于com.opensymphony.xwork2包,是Action执行的上下文。

ActionContext context = ActionContext.getContent();

Map  request = (Map<String,Object>)context.get("request");

 Map  session = context.getSession();

Map  application = context.getApplication();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值