struts请求方法,一步步简化操作
在web工程下创建两个类
package com.yc.struts.web.action;
public class HelloAction {
public String login(){
return "login";
}
public String success(){
return "success";
}
}
===================================
package com.yc.struts.web.action;
public class MyAction {
public String fail(){
return "fail";
}
}
===============================
1.一般方法
struts.xml中的配置
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="hello">
<result name="success" type="">/success.jsp</result>
</action>
</package>
</struts>
2.在同一个包下的同一个类中的请求方法
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<action name="login" class="com.yc.struts.web.action.HelloAction" method="login">
<result name="login">login.jsp</result>
</action>
<action name="success" class="com.yc.struts.web.action.HelloAction" method="success">
<result name="success">success.jsp</result>
</action>
index.jsp请求页面
<a href="login.action">跳转到登录页面</a>
<a href="success.action">跳转到成功页面</a>
进一步简化
<!--通过动态处理的方式进行处理:可以处理在同一个请求处理类中
1.<constant name="struts.enable.DynamicMethodInvocation" value="true" />
2.请求action,通过请求名!请求处理方法
-->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<action name="hello" class="com.yc.struts.web.action.HelloAction">
<result name="login">login.jsp</result>
<result name="login">login.jsp</result>
</action>
index.jsp请求页面
<a href="hello!login.action">跳转到登录页面</a>
<a href="hello!success.action">跳转到成功页面</a>
3.通配符请求方式,请求在同一个包下,不同类中的请求方式
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<!-- 通过通配符的方式: *表示任意字符串,取*对应的字符串
如: User_login 通配符*_* 取值:{1}==>User {2} ==>login
-->
<action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
<result name="login">login.jsp</result>
<result name="success">success.jsp</result>
<result name="fail">fail.jsp</result>
</action>
进一步简化操作
<action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
<result name="{2}">{2}.jsp</result>
</action>
index.jsp请求页面
<a href="Hello_login.action">跳转到登录页面</a>
<a href="Hello_success.action">跳转到成功页面</a>
<a href="My_fail.action">跳转到失败页面</a>
在web工程下创建两个类
package com.yc.struts.web.action;
public class HelloAction {
public String login(){
return "login";
}
public String success(){
return "success";
}
}
===================================
package com.yc.struts.web.action;
public class MyAction {
public String fail(){
return "fail";
}
}
===============================
1.一般方法
struts.xml中的配置
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<action name="hello">
<result name="success" type="">/success.jsp</result>
</action>
</package>
</struts>
2.在同一个包下的同一个类中的请求方法
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<action name="login" class="com.yc.struts.web.action.HelloAction" method="login">
<result name="login">login.jsp</result>
</action>
<action name="success" class="com.yc.struts.web.action.HelloAction" method="success">
<result name="success">success.jsp</result>
</action>
index.jsp请求页面
<a href="login.action">跳转到登录页面</a>
<a href="success.action">跳转到成功页面</a>
进一步简化
<!--通过动态处理的方式进行处理:可以处理在同一个请求处理类中
1.<constant name="struts.enable.DynamicMethodInvocation" value="true" />
2.请求action,通过请求名!请求处理方法
-->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<action name="hello" class="com.yc.struts.web.action.HelloAction">
<result name="login">login.jsp</result>
<result name="login">login.jsp</result>
</action>
index.jsp请求页面
<a href="hello!login.action">跳转到登录页面</a>
<a href="hello!success.action">跳转到成功页面</a>
3.通配符请求方式,请求在同一个包下,不同类中的请求方式
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="true" />
<!-- 通过通配符的方式: *表示任意字符串,取*对应的字符串
如: User_login 通配符*_* 取值:{1}==>User {2} ==>login
-->
<action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
<result name="login">login.jsp</result>
<result name="success">success.jsp</result>
<result name="fail">fail.jsp</result>
</action>
进一步简化操作
<action name="*_*" class="com.yc.struts.web.action.{1}Action" method="{2}">
<result name="{2}">{2}.jsp</result>
</action>
index.jsp请求页面
<a href="Hello_login.action">跳转到登录页面</a>
<a href="Hello_success.action">跳转到成功页面</a>
<a href="My_fail.action">跳转到失败页面</a>