我正在使用JSP创建一个工具。 我有多个JSP页面,它们从用户那里获取输入。 现在我想在许多其他jsp页面上使用这些输入。
假设我在用户输入用户名时将登录页面作为我的第一页我可以在我的下一个jsp页面上获取它,我在Form方法中将其用作后期操作。 但是我无法在其他Jsp页面上显示相同的用户名。
我使用jsp:getProperty来获取值:
<jsp:getProperty property="username" name="user2"/><br>
<jsp:getProperty property="password" name="user2"/><br>
请建议有什么方法可以使用jsp:useBean
在多个页面上获取值答案 0 :(得分:0)
<% 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");
%>
答案 1 :(得分:0)
是的,我们可以通过会话传递价值来实现。如下面request.getSession().setAttribute("key", <value>);
答案 2 :(得分:0)
您可以将bean存储在会话中,以便可以从JSP直接访问它。 (见this answer on SO)。
你的bean声明应该是这样的:
<jsp:useBean id="user2" class="mycompany.User" scope="session" />
如果要真正保留数据,则应存储在数据库中。
请注意,您应该考虑MVC框架,例如Spring MVC或Apache Struts,但您必须吸收大量概念。
答案 3 :(得分:-1)
是的,你可以这样访问它:
的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");
%>