Jquery 我可以再次设置现有请求属性的值吗?

Jquery 我可以再次设置现有请求属性的值吗?,jquery,html,jsp,request,Jquery,Html,Jsp,Request,我有一个主页,其中有一个标题、一个侧边栏和一个div标签。 当用户单击register时,Registration.jsp被加载到div标记中 成功提交注册表后,我希望将其转发到我希望在div标记中显示html bookimages.html的同一页面 我尝试设置一个属性值来执行此操作 这是我的主页。css: <body id="userprofilepage"> <% request.setAttribute("regisstatus",null); %> <di

我有一个主页,其中有一个标题、一个侧边栏和一个div标签。 当用户单击register时,Registration.jsp被加载到div标记中

成功提交注册表后,我希望将其转发到我希望在div标记中显示html bookimages.html的同一页面

我尝试设置一个属性值来执行此操作

这是我的主页。css:

<body id="userprofilepage">
<% request.setAttribute("regisstatus",null); %>
<div>
<%@ include file="header.jsp" %><br>
</div>

<div id="mainsidebar">
<%@ include file="sidebar.html" %>
</div>

<div>
<%@ include file="priviledges.html" %>
</div>

<div id="contentarea">
<% if(request.getAttribute("regisstatus")==null)
{ %>

<%@ include file="bookimages.html" %>
<% } else if((request.getAttribute("regisstatus").toString()).equals("success")) { %>
            <%@ include file="Register.jsp" %>
    <% } else { %>

<h3>Sorry could not register.. Try again</h3>
<% }  %>
</div>

</body>
…工作正常。并调用RegistrationServlet.java:

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        //Takin all parameters

          String fname = request.getParameter("fname");
          //System.out.println(fname);
          String lname = request.getParameter("lname");
          //System.out.println(lname);
          String mobileno = request.getParameter("mobno");
          //System.out.println(mobileno);
          String pwd = request.getParameter("password");
          //System.out.println(uid);
         // String cpwd = request.getParameter("password");
          //System.out.println(pwd);
          String email = request.getParameter("email");
          String off_add= request.getParameter("off_add");
          String perm_add = request.getParameter("perm_add");

          String[] r = request.getParameterValues("role");

          for(int i=0;i<r.length;i++)
          {
              System.out.println(r[i]);
          }
          ArrayList<Integer> role=new ArrayList<Integer>();

          for(int i=0;i<r.length;i++)
          {
              Integer r1=new Integer(RoleManager.getRoleid(r[i]));
            role.add(r1);
          } 
          /*for(int i=0;i<r.length;i++)
          {
              Integer r1=new Integer(RoleManager.getRoleid(r[i]));
              role.add(r1);
          }*/



         String g[]=request.getParameterValues("genre");
          ArrayList<Integer> genre=new ArrayList<Integer>();
          for(String i : g)
          {
              Integer g1=new Integer(GenreManager.getGenreid(i));
              genre.add(g1);
          }

        // creating user object 
          RegisteredUser uobj = new RegisteredUser();

        //setting values in RegisteredUser obect

          uobj.setFname(fname);
          uobj.setLname(lname);
          uobj.setPassword(pwd);
          uobj.setMobileno(mobileno);
          uobj.setPassword(pwd);
          uobj.setEmail(email);
          uobj.setOffadd(off_add);
          uobj.setPermadd(perm_add);
          uobj.setRole(role);
          uobj.setGenre(genre);
          uobj.setUid("abc2");

          //send user object to manger

          boolean suc=UserManager.createUser(uobj);
          System.out.println("user object created");
          if(suc) 
             request.setAttribute("regisstatus", "success");
          else
              request.setAttribute("regisstatus", "fail");
          RequestDispatcher rd=request.getRequestDispatcher("/userprofilepage.jsp");
          rd.forward(request, response);


    }

}

但是在我的主页中,没有设置请求属性。您能帮我找出问题吗?

首先,您使用.load函数的方式不正确

在您的代码中,$contentarea div在第一个请求的服务器端被计算,然后不再计算。load函数将RegistrationServlet.jsp的结果加载到div中,但不根据它刷新div


我想你应该在RegistrationServlet.jsp上做一个ajax请求,当它成功时刷新你的页面,或者在RegistrationServlet.jsp中创建逻辑,这样.load函数调用就可以保持不变。

谢谢你的回复。。但是,当我将请求转发到“RegistrationServlet”中的userprofilepage.jsp时,我的jsp不是又被重新加载了吗???然后在重新加载时,它应该检查我的属性regisstatus…不是吗?正如我前面提到的。load启动一个ajax请求,将结果加载到它的选择器中。它不会刷新整个页面。
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

        //Takin all parameters

          String fname = request.getParameter("fname");
          //System.out.println(fname);
          String lname = request.getParameter("lname");
          //System.out.println(lname);
          String mobileno = request.getParameter("mobno");
          //System.out.println(mobileno);
          String pwd = request.getParameter("password");
          //System.out.println(uid);
         // String cpwd = request.getParameter("password");
          //System.out.println(pwd);
          String email = request.getParameter("email");
          String off_add= request.getParameter("off_add");
          String perm_add = request.getParameter("perm_add");

          String[] r = request.getParameterValues("role");

          for(int i=0;i<r.length;i++)
          {
              System.out.println(r[i]);
          }
          ArrayList<Integer> role=new ArrayList<Integer>();

          for(int i=0;i<r.length;i++)
          {
              Integer r1=new Integer(RoleManager.getRoleid(r[i]));
            role.add(r1);
          } 
          /*for(int i=0;i<r.length;i++)
          {
              Integer r1=new Integer(RoleManager.getRoleid(r[i]));
              role.add(r1);
          }*/



         String g[]=request.getParameterValues("genre");
          ArrayList<Integer> genre=new ArrayList<Integer>();
          for(String i : g)
          {
              Integer g1=new Integer(GenreManager.getGenreid(i));
              genre.add(g1);
          }

        // creating user object 
          RegisteredUser uobj = new RegisteredUser();

        //setting values in RegisteredUser obect

          uobj.setFname(fname);
          uobj.setLname(lname);
          uobj.setPassword(pwd);
          uobj.setMobileno(mobileno);
          uobj.setPassword(pwd);
          uobj.setEmail(email);
          uobj.setOffadd(off_add);
          uobj.setPermadd(perm_add);
          uobj.setRole(role);
          uobj.setGenre(genre);
          uobj.setUid("abc2");

          //send user object to manger

          boolean suc=UserManager.createUser(uobj);
          System.out.println("user object created");
          if(suc) 
             request.setAttribute("regisstatus", "success");
          else
              request.setAttribute("regisstatus", "fail");
          RequestDispatcher rd=request.getRequestDispatcher("/userprofilepage.jsp");
          rd.forward(request, response);


    }

}