2 baihaiqi baihaiqi 于 2015.07.21 10:20 提问

java执行完方法后怎么跳转到jsp
function submitForm1() {
/*  var id = document.getElementById("userId").value;
    if(id == ''){
        alert("id不允许为空!");
        return;
    } */

    $.post("/mission/abc", $('#newForm').serialize(), function(data) {//"/user/save"
        /*alert("您还没有登录");*/
        if(data.state == 'noLogin') {

            alert("皇上,您还没有登录,点击确定跳转到登录界面");
            window.location.href = "../user/login.jsp";//"/user/logintext.jsp";
        }

        if(data.state == 'success'){
            alert("添加成功");
            location = "../user/login.jsp";//"userManager.jsp";
            document.location.reload();
        }
    }, "json");
}

@Before(AjaxLoginInterceptor.class)
public void abc(){

    String type = getPara("type");
    String sex = getPara("sex");
    String num = getPara("num");
    String money = getPara("money");
    String content = getPara("content");
    /*String hours = getPara("hours");
    String min = getPara("min");*/


    /*createTime = hours + ":" +min;*/
    title = type + createTime + num + money;


    setAttr("title", title);
    setAttr("type", type);
    setAttr("personNum", num);
    setAttr("content", content);
    setAttr("sex", sex);
    /*setAttr("createTime", createTime);*/
    setAttr("money", money);
    //renderJsp("newMission.jsp");
    System.out.println("abc");


    Mission mission = getModel(Mission.class, "mission");

    if(mission.get("id") == null) {
        mission.set("id", IDGeneUtil.getRandNum(6));
        mission.set("status", "发布");
        mission.set("title",title);
        mission.set("type",type);
        mission.set("content",content);
        mission.set("personNum",num);
        mission.set("sex",sex);
        /*mission.set("createTime",createTime);*/
        mission.set("money",money);
        mission.set("userId", getSessionAttr("loginUser"));
        mission.save();
    } else if(mission.getInt("id") > 0) {
        mission.update();
    }
    /*renderJsp("../mission/mission.jsp");*/
    forwardAction("/mission");//("/mission");

}

public class AjaxLoginInterceptor implements Interceptor {

    public Map res = new HashMap();//用来存放返回的数据(json)

    public void intercept(ActionInvocation ai) {
        Controller ctl=ai.getController();
        String loginUser = ctl.getSessionAttr("loginUser");

        // 判断是否登录过
        if(loginUser == null || loginUser.equalsIgnoreCase("")) {
            res.put("state", "noLogin");
            //返回保存结果
            ctl.renderJson(res);
            return;
        }

        System.out.println("Before ajaxlogin action invoking");
        ai.invoke();//对action的调用
        System.out.println("After ajaxlogin action invoking");
    }
}

现在拦截器好使了-但是点完发布页面不跳转了-但是数据库能存上-不知道怎么回事-新手-求解答

3个回答

yuke198907
yuke198907   2015.07.21 11:17

你的submitForm1方法是ajax方法,他是根据返回值进行跳转的;而forwardAction("/mission")是直接跳转的;这两个是不应该在一起使用的。

qq806142724
qq806142724   2015.07.21 11:27

比如说你想调用ajax 后 走完流程 如果想动态的跳转 这样写:
String url = "";
url = "地址/xxxxx.jsp?flag=true";
打印url
==================前台================
function(data){
location.href=data;
}

strutce
strutce   Ds   Rxr 2015.07.21 11:28

设置data.state 值返回到ajax方法中在跳转到页面

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java开发五种jsp页面跳转方法
Java开发五种jsp页面跳转方法   1.RequestDispatcher.forward()   是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所
JSF跳转
当用户在地址栏中敲登录页面回车后,调用init方法,检查用户是否已登录,如果已经登录就跳转到主页面,没有登录的话就呈现登录页面。
Java后台和Jsp跳转页面的两种方法以及它们的区别
Java后台和Jsp跳转页面的两种方法以及它们的区别
如何一启动web程序,直接访问某个controller里的方法进而跳转页面
随便写一个JSP页面  在页面里面在转发到你要的Action  web.xml 里面添加   jump.jsp     jump.jsp里通过这段代码访问action':  meta标签是位于body和title之间即可。 action是不能放在web.xml中,只能放在struts.xml中
web项目中通过button按钮跳转到action中
-
关于一加载jsp页面就跳转到servlet获取数据然后再跳回jsp页面的问题
下面来说我遇到的问题: 上一篇文章中写的是jsp+javabean实现商品分页  浏览,即model1的开发模式,现在要改为  jsp+sevlet+javabean 即model2了  之前在jsp处理的业务逻辑,都要经过servlet调用模型层进行处理,我想的是 先加载jsp页面(刚开始Jsp页面什么数据也没有,需要从servlet中获取数据再显示),加载的同时跳转到servlet获取商
Servlet跳转页面的几种方法总结
servlet跳转页面的方法: 跳转分为两部分,一部分发生在servlet,另一部分发生在JSP,JSP就是servlet,但是两者还是有部分差异。 Servlet:(跳转发生在doGet,doPost等方法里) (1)redirect方式 response.sendRedirect(“/index.jsp”);页面的路径是相对路径。sendRedirect可以将页面
jsp:forward 跳转到.action等链接的跳转问题
在首页的使用jsp:forward跳转的时候(不显示具体的跳转链接名),只能跳转相应的.jsp文件,但是对于链接不能跳转,具体的处理方式如下                在web.xml中修改对应的配置文件 struts2 REQUEST FORWARD
Servlet跳转到jsp页面的几种方法
 1.sendRedirect方式      sendRedirect("/a.jsp");     可以将页面跳转到任何路径,不局限于web应用中,跳转的过程中url地址变化,无法使用request.setAttribute来传递。 2.forward方式      request.getRequestDispatcher("/a.jsp").forward(requ
Html/Jsp常用的页面跳转方法
第一种:     window.location.href="login.jsp?backurl="+window.location.href; 第二种:     alert("返回");     window.history.back(-1);  第三种:      window.navigate("top.jsp");  第四种:      self.location="top.