dpj2008 2017-03-12 04:41 采纳率: 100%
浏览 1557
已采纳

struts2 页面间跳转问题

struts2的配置
struts.xml核心配置

 package name="app" extends="struts-default" namespace="/">
        <!-- app/模块/类名/方法名 -->
        <action name="app/*/*/*" class="com.demo.app.{1}.action.{2}Action"
            method="{3}">
            <result name="defaultView">app/index/index/{3}.jsp</result>
            <result name="view">/WEB-INF/jsp/{1}/{2}/${nextPath}.jsp</result>
        </action>
    </package>

Action调用方法,访问的uri=app/index/index/login

 /* public String login(ServletRequest request,ServletResponse response){ */
    public String login() throws NoSuchAlgorithmException, UnsupportedEncodingException{

        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        logger.info("action_uri=="+request.getRequestURI());
        HttpSession session = request.getSession();
        User userExsit = (User) session.getAttribute("user");

        if (userExsit != null) {
            return view("recruitDetail");
        } else {
            String loginname = request.getParameter("mobile");
            String password = request.getParameter("password");
            User us = loginService.findByUserName(loginname);

            if (us != null && us.getLoginPwd() != null && MD5Util.validPasswd(password, us.getLoginPwd())) {

                return view("recruitDetail");-----------(成功执行这条语句,且struts.xml中的${nextPath}值为recruitDetail)
            } else {
                return view("login");
            }

        }

    }
    return 语句用到的view()方法

    public String view(String vPath){

        nextPath = vPath;
        logger.debug("动作完成后,转发到:" + nextPath);
        this.assign("timeStr",
                "" + System.currentTimeMillis() + System.nanoTime());
        this.assign("uuid", UUIDUtil.get32ID());// 为页面传递UUID,用于页面的标识
        return "view";


    }

结果是,我点击登陆后,在调试页面获得了要跳转页面如图:
![图片说明](https://img-ask.csdn.net/upload/201703/12/1489293514_462880.jpg)图片说明

我的问题是要跳转的页面已经可以在页面debug中查到,说明访问路径没问题,怎么就没有将原来的页面覆盖掉呢,请大神们帮忙解答下,小弟谢谢了,纠结半天了

  • 写回答

3条回答

  • dpj2008 2017-03-12 09:36
    关注

    我自己找到问题所在了,我用的ajax的post提交的,提交后不刷新当前页面,改成form 的表单提交没问题了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 镍氢电池充电器设计实物使用原理
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号