如何在两个jsp页面之间传递字符串?

时间:2013-02-06 11:48:13

标签: string jsp

我想在我的两个jsp页面之间传递一个字符串(用户名),

Login.jsp和Details.jsp。

请告诉我们该如何做?

I tries this in Login.Jsp
<html>
......
<%
session.setAttribute("key","value"); 
%>
.....
</html>

In Details.jsp
<html>
......
<%
session.getAttribute("key"); 
%>
.....
</html>

It showed  "NULL" as output.

4 个答案:

答案 0 :(得分:1)

有几种方法可以将数据从一个网页传递到另一个网页:

  1. 在Login.jsp上放一个表单,让它发布到Details.jsp。这会将表单中的值发布到Details.jsp。
  2. 重定向到Details.jsp?username=ARJUN。这会将变量传递给te查询字符串中的Details.jsp。
  3. 将用户名放入Cookie中。该cookie将被提交给Details.jsp(以及每个其他页面),这样就可以确定每个页面中的用户名。
  4. 将用户名放在会话中。与cookie类似,但会话存储在服务器上,并与当前正在查看您网站的用户相关联。

答案 1 :(得分:0)

通常在登录后,您应该将用户数据保存在会话中:

session.setAttribute("key","value");

然后使用

从其他页面访问
session.getAttribute("key");

如果您需要更多信息,请参阅:http://www.jsptut.com/sessions.jsp

答案 2 :(得分:0)

试试这个

jsp1.jsp

    request.setAttribute("name",somevalue);

    RequestDispatcher dispatcher = request.getRequestDispatcher("jsp2.jsp");
    if (dispatcher != null){
            dispatcher.forward(request, response);
    } 

jsp2.jsp

out.println(request.getAttribute("name"));

答案 3 :(得分:0)

首先在编写此代码时创建servlet: 在这里我们可以使用requet.getParameter(“name”)获取值;这里,name是上一页的文本框名称

<%! String name=request.getParameter("name")%>
<% out.println("Welcome :"+name) %>