Struts2 Action 处理多个请求三种方法,刚开完课记录一下,欢迎指正:
以下假设
登陆界面login.jsp;登陆成功页面login_success.jsp
注册页面reg.jsp ;注册成功页面reg_success.jsp
将实现登陆注册功能
1. 动态处理,即动态方法调用DMI
struts.xml 代码
<package name="default" namespace="/" extends="struts-default">
<action name="user" class="com.actions.UserAction">
<result name="login_ok">login_success.jsp</result>
<result name="login_input">login.jsp</result>
<result name="reg_ok">reg_success.jsp</result>
<result name="reg_input">reg.jsp</result>
</action>
</package>
开启动态配置
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
表单提交变动
<s:form action="user!reg.action" method="post">
<s:form action="user!login.action" method="post">
2. 配置多个逻辑action,即多个action公用一个action组件
struts.xml 代码
<action name="user_login" class="com.actions.UserAction" method="login">
<result name="login_ok">login_success.jsp</result>
<result name="login_input">login.jsp</result>
</action>
<action name="user_reg" class="com.actions.UserAction" method="reg">
<result name="reg_ok">reg_success.jsp</result>
<result name="reg_input">reg.jsp</result>
</action>
表单提交变动
<s:form action="user_reg.action" method="post">
<s:form action="user_login.action" method="post">
3. 利用通配符 注意:命名要规范,应提交设计好!!
<action name="user_*" class="com.actions.UserAction" method="{1}">
<result name="{1}_ok">{1}_success.jsp</result>
<result name="{1}_input">{1}.jsp</result>
</action>
表单提交如2不需要修改。
根据个人情况,如果能提前设计好名称就是用第三个,如果不确定就适应第二种,不容易混
个人见解,敬请指教; http://blog.csdn.net/jingbo91