如何将变量从servlet传递到jsp页面?

时间:2011-02-08 15:39:41

标签: java jsp servlets

我有一个servlet(前端控制器),它分析请求,准备一些必要的数据(模型),然后将它传递给jsp进行渲染。

我应该如何将数据从servlet传递给jsp? (我希望可以在request对象中向参数映射添加新参数,但该映射是不可修改的。)

我可以向request添加属性,但我不知道如何从jsp中检索它们。

所有数据都应在请求范围内。什么是正确的方法?

2 个答案:

答案 0 :(得分:6)

我可以为请求添加属性,但我不知道如何从jsp中检索它们。
你不需要专门“检索”它们,只需要引用它们

request.setAttribute("titleAttribute", "kittens are fuzzy");

然后

Title here: ${titleAttribute}

答案 1 :(得分:3)

您可以使用请求或会话范围。除了Nikita Rybak的回答,你可以使用

request.getSession().setAttribute("key","value");

然后使用scriplet在JSP中使用它。

<%=session.getAttribute("key")%>

请注意,在Nikita给出的示例中,使用了表达式语言(EL)(我不确定它是否是JSTL标记)。您需要使用isELIgnored属性明确声明不要忽略EL。

<%@ page isELIgnored="false" %>