struts-config:
<action
path="/hello"
type="onlyfun.caterpillar.HelloAction">
<forward
name="helloUser"
path="/WEB-INF/pages/hello.jsp"/>
</action>
当我们提交一个do( hello.do)的请求的时候,就会呼叫我们所定义的action( onlyfun.caterpillar.HelloAction),直接进行请求转发,通过获取 forward name转发到我们所定义的 path中,每次都会执行一个forwardAction。
请求转发的定义我们可以通过两种方法:
1、通过定义一个操作符(如opp),通过页面传递给action,如 http://localhost:8080/strutsapp/account.do?hello.do?opp=login&$其他参数$ ,然后在action中判断opp的操作:
String opp=getParameter("opp");
if(opp=" login"){
<!--定义操作-->
return mapping.findForward(" helloUser");
}
2、在struts中有自带的一个分发处理--dispatchAction:
在struts-config.xml中
<action
path="/hello"
type="onlyfun.caterpillar.HelloAction">
<forward
name="helloUser"
path="/WEB-INF/pages/hello.jsp"/>
</action>
当我们提交一个do( hello.do)的请求的时候,就会呼叫我们所定义的action( onlyfun.caterpillar.HelloAction),直接进行请求转发,通过获取 forward name转发到我们所定义的 path中,每次都会执行一个forwardAction。
请求转发的定义我们可以通过两种方法:
1、通过定义一个操作符(如opp),通过页面传递给action,如 http://localhost:8080/strutsapp/account.do?hello.do?opp=login&$其他参数$ ,然后在action中判断opp的操作:
String opp=getParameter("opp");
if(opp=" login"){
<!--定义操作-->
return mapping.findForward(" helloUser");
}
2、在struts中有自带的一个分发处理--dispatchAction:
在struts-config.xml中
<action path="/account" type="onlyfun.caterpillar.AccountAction" parameter="method" name="userForm">
<forward name="greeting" path="/WEB-INF/pages/greeting.jsp"/> </action>
定义了一个参数parameter(在此定义为method)
我们要实现登陆功能,在action中的定义函数Login():
public class AccountAction extends DispatchAction {
public ActionForward login(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
<!--login的操作-->
......
}
调用login方法可以用
http://localhost:8080/strutsapp/account.do?method=login
总的来说,第二种方法更容易实现模块化管理
<forward name="greeting" path="/WEB-INF/pages/greeting.jsp"/> </action>
定义了一个参数parameter(在此定义为method)
我们要实现登陆功能,在action中的定义函数Login():
public class AccountAction extends DispatchAction {
public ActionForward login(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
<!--login的操作-->
......
}
调用login方法可以用
http://localhost:8080/strutsapp/account.do?method=login
总的来说,第二种方法更容易实现模块化管理