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 Pyqt 如何正确的关掉Qthread,并且释放其中的锁?
  • ¥30 网站服务器通过node.js部署了一个项目!前端访问失败
  • ¥15 WPS访问权限不足怎么解决
  • ¥15 java幂等控制问题
  • ¥15 海湾GST-DJ-N500
  • ¥15 氧化掩蔽层与注入条件关系
  • ¥15 Django DRF 如何反序列化得到Python对象类型数据
  • ¥15 多数据源与Hystrix的冲突
  • ¥15 如何在线硕士了解,广告太多,希望有真实接触过的人回答下?(标签-学习|关键词-在线硕士)
  • ¥15 zabbix6.4与frp如何进行联动