strut2 允许用户自定义个业务控制器方法
默认的情况下是execute()
然而我们可以自定义方法,从而使得同一个action可以处理多个业务逻辑
例如
1.我们的action
代码如下 | 复制代码 |
public class myAction extends Actionsupport { @Override public String execute() throws Exception { //默认业务处理方法 } @Override |
2.有两种方法
第一种方法
我们的strut.xml的配置如下
代码如下 | 复制代码 |
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.custom.i18n.resource" value="mess" /> <constant name="struts.i18n.encoding" value="GBK" /> <package name="default" extends="struts-default"> <action name="login" class="org.Rudiment.action.LoginAction"> <result name="input">/login.jsp</result> <result name="error">/error.jsp</result> <result name="success">/welcom.jsp</result> </action> </package> </struts> |
当前台form的action="login" 的时候由 execute() 处理
当前台form的action="login!myExecute" 的时候由 myExecute() 处理
第二种方法
我们的strut.xml的配置如下
代码如下 | 复制代码 |
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.custom.i18n.resource" value="mess" /> <constant name="struts.i18n.encoding" value="GBK" /> <package name="default" extends="struts-default"> <action name="login" class="org.Rudiment.action.LoginAction"> <result name="input">/login.jsp</result> <result name="error">/error.jsp</result> <result name="success">/welcom.jsp</result> </action> <action name="tlogin" class="org.Rudiment.action.LoginAction" method="myExecute"> <result name="error">/index.jsp</result> </action> </package> </struts> |
这种方法比上一种方法多配置了一个 action name="tlogin"
这个action 多了个method="myExecute"
当我们前台的form的action="login"的时候,业务处理将提交由execute()方法处理;
当我们前台的form的action="tlogin"的时候,业务处理将提交由myExecute()方法处理
时间: 2024-12-08 19:26:12