在两个jsps中访问servlet的值

时间:2015-01-23 05:23:10

标签: java jsp servlets

我有一个Servlet,它将值发送到JSP1。我将servlet中的值设置为

request.setAttribute();

我正在使用

dispatcher.forward(request, response);

我可以使用表达式语言在JSP1中访问这些值。

现在,我还需要在另一个JSP2中使用它。

这两个JSP被联合起来显示在一个页面中。所以,我还需要在第二个jsp中访问servlet的值。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

这很简单。如果您要设置属性" attr1"在servlet中然后转发到JSP(file1.jsp):

request.setAttribute("attr1", "first attr");
request.getRequestDispatcher("file1.jsp").forward(request, response);

假设在第一个JSP(file1.jsp)中,你包含另一个JSP(比如file2.jsp):

<body>
.....
<jsp:include page="file2.jsp"></jsp:include>
.....
</body>

然后在file2.jsp中,您可以通过调用请求对象的getAttribute方法来访问attr1:

<body>
....
${attr1}
....
</body>

对于jsp:include操作,当file2.jsp包含在file1.jsp中时,请求和响应对象都作为参数传递给file2.jsp。因此file2.jsp可以访问file1.jsp的请求对象的属性。

答案 1 :(得分:0)

如你所说,你在一个页面中同时拥有jsp俱乐部,你可以简单地获得属性,

   ${attributeName}

它指的是HttpServletRequest范围内设置的对象。我建议您参加Expression language

的教程