0

我想在我的两个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

4 回答 4

1

尝试这个

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"));
于 2013-02-07T05:52:37.763 回答
1

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

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

然后从其他页面访问

session.getAttribute("key");

如果您需要更多信息,这里有很多: http: //www.jsptut.com/sessions.jsp

于 2013-02-06T11:55:47.147 回答
1

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

  1. 放一张表格Login.jsp,让它张贴到Details.jsp。这会将表单中的值发布到Details.jsp.
  2. 重定向到Details.jsp?username=ARJUN. 这将Details.jsp在查询字符串中传递一个变量。
  3. 将用户名放入 cookie 中。cookie 将被提交到Details.jsp(以及所有其他页面),这使得确定每个页面中的用户名成为可能。
  4. 将用户名放入会话中。类似于 cookie,但会话存储在服务器上并与当前正在查看您的网站的用户相关联。
于 2013-02-06T11:56:06.550 回答
0

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

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

于 2014-09-09T15:21:27.490 回答