我想从JSP页面获取多个JSP页面的值.有可能吗

  • 本文关键字:JSP 有可能 获取 java jsp servlets
  • 更新时间 :
  • 英文 :


我正在用JSP创建一个工具。我有多个接受用户输入的JSP页面。现在,我想在许多其他jsp页面上使用这些输入。

假设我有登录页面作为我的第一个页面,当用户输入用户名时,我可以在我的下一个jsp页面上获得它,我在Form方法中使用它作为post操作。但我无法在其他Jsp页面上显示相同的用户名。

我使用jsp:getProperty获取值:

<jsp:getProperty property="username" name="user2"/><br> 
<jsp:getProperty property="password" name="user2"/><br> 

请建议是否有任何方法可以使用jsp:useBean 在多个页面上获取值

    <% HttpSession httpSession = request.getSession();
            httpSession.setAttribute("user2", user2);
    %>
    then from any jsp page u can access that attribute for same session like this
   <%HttpSession httpSession=request.getSession();
         httpSession.getAttribute("user2");
   %>

是的,我们可以通过会话传递值来实现。如下面给出的request.getSession().setAttribute("key", <value>);

您可以将您的bean存储在会话中,以便从JSP直接访问它。(请参阅SO上的回答)。

您的bean声明应该类似于:

<jsp:useBean id="user2" class="mycompany.User" scope="session" />

如果您想真正持久化数据,您应该将其存储在数据库中。

请注意,您应该考虑像SpringMVC或ApacheStruts这样的MVC框架,但您必须吸收很多概念。

是的,您可以通过以下方式访问它:

login.jsp:

    <form action ="process.jsp">
    Username:
    <input type="text" name="username">
    Password:
    <input type="password" name="password">
<input type="submit" value="Submit">
    </form>

process.jsp:

    <% String username = request.getParameter("username");
       String password = request.getParameter("password");
     %>

最新更新