关闭

使用dispatchAction简化对action的请求操作

标签: actionloginstrutspathexceptionstring
732人阅读 评论(0) 收藏 举报
分类:
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="/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
总的来说,第二种方法更容易实现模块化管理
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:150910次
    • 积分:2254
    • 等级:
    • 排名:第17253名
    • 原创:72篇
    • 转载:5篇
    • 译文:0篇
    • 评论:35条
    文章分类
    最新评论