原文件位置:WebRoot/admin/bg-left.jsp
链接:<a href="userAction.do?action=2">配置文件:<action name="UserForm" path="/userAction" scope="request" type="com.action.UserAction">
<forward name="checkUser" path="/checkUserResult.jsp" />
………………
<forward name="selectUserResult" path="/admin/userSelect.jsp" />
</action>
注:WebRoot/checkUserResult.jsp(forward中跳转目标文件都在WebRoot目录下)
目标跳转文件位置:WebRoot/admin/userSelect.jsp我想实现通过原文件的链接跳到目标文件,但是配置文件中的路径path="/userAction"不能改变,因为还有很多页面用到这个路径。
链接:<a href="userAction.do?action=2">配置文件:<action name="UserForm" path="/userAction" scope="request" type="com.action.UserAction">
<forward name="checkUser" path="/checkUserResult.jsp" />
………………
<forward name="selectUserResult" path="/admin/userSelect.jsp" />
</action>
注:WebRoot/checkUserResult.jsp(forward中跳转目标文件都在WebRoot目录下)
目标跳转文件位置:WebRoot/admin/userSelect.jsp我想实现通过原文件的链接跳到目标文件,但是配置文件中的路径path="/userAction"不能改变,因为还有很多页面用到这个路径。
是一返回 checkUser
是二返回checkUser
}
很基础的问题呀!
但看来不是,你是要通过Action类来实现。而且还是指定的Action类指定的path,那么你可以让这个Action类继承DispatchAction而不要直接继承自Action。接下来你就会处理了吧:
Action类:
String action = request.getParameter("action");
if(action!=null && Integer.parseInt(action) == 2){ return mapping.findForward("selectUserResult");}
////其他你的业务逻辑
if(action!=null && action.equals("2"))比较安全些
在Action类中,
public ActionForward test(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String action = request.getParameter("action"); return mapping.findForward(action);
}
最后在配置文件中跳转
/userAction.do?action=1&id=29jkd 删除操作/userAction.do?action=2&name=a&date=2009 添加操作/userAction.do?action=3&key=name 查找操作
链接:<a href="userAction.do?action=2">
([color=#FF0000](问题就在这个链接上,该怎么改写?)[/color
来转向action类中,实现逻辑后跳转到目标文件进行传值,但是配置文件中的path属性都被占用,我不能更改。可是目标跳转文件在WebRoot/admin这个子目录里,只要我更改配置文件中的path="/admin/userAction" 就能解决问题,但是还有其他的文件都要转到WebRoot目录下的文件
所以我想实现更改原文件的链接来实现正确转向。
<a href="userAction.do?action=2">
修改为:
<a href="<html:rewrite page='/userAction.do?action=2'/>">