SSH学习(三)Struts2之Action下

原文来自搬砖工,如需转载请注明出处


博主SSH框架专栏请戳这里http://blog.csdn.net/column/details/14227.html

接着上篇文章继续学习

三、配置Action

1.配置action示例

当用户发出请求后,先通过配置在web.xml中的拦截器拦截之后,再查找在struts.xml中配置的业务逻辑action。

struts2使用包来管理action,action是package的一个子元素,如:


	/Success.jsp
	/login.jsp
2.Action的属性

name:Action的名称,请求调用的标识(name加上扩展名)

class:Action的实现类

converter:Action的转换器实现类

method:指定要调用的方法(除execute之外的方法)

3.Action的子元素Result

Result是用于页面跳转,如成功success跳转1.jsp,失败failure跳转2.jsp

四、Action中动态调用方法

同一个业务用例可能有多个方法,Struts1提供了DispatcherAction来解决,在struts2中动态方法调用如下:
1.直接指明要调用的方法

Actionname!methodname.action 如:user!login.action

解释:是在用户请求的时候,调用userAction类中的login方法,就在请求的参数值设置为user!login.action,同样的,请求register方法参数就设置为user!register.action

2.为action增加method元素


	/Success.jsp
	/login.jsp


	/Success.jsp
	/login.jsp
解释:在上面的参数配置中,加入了method属性。当我们请求userLogin方法的时候,它会去调用UserAction的login方法。在请求参数的时候写userLogin.action就可以了。对于register是同样的道理。
3.使用通配符


	/Success.jsp
	/login.jsp
	/login.jsp
解释:如上,我们把name写为*Action,当我们请求参数值为loginAction的时候,配置默认将Action前面的login作为method的值。就相当于是method=login。那么参数为registerAction,请求的方法当然是UserAction中的register方法。这里就把一个类中的多个方法整合在一起了


下篇文章将学习Struts2的类型转换(converter)



你可能感兴趣的:(SSH,SSH框架)