我有一个servlet(前端控制器),它分析请求,准备一些必要的数据(模型),然后将它传递给jsp进行渲染。
我应该如何将数据从servlet传递给jsp? (我希望可以在request
对象中向参数映射添加新参数,但该映射是不可修改的。)
我可以向request
添加属性,但我不知道如何从jsp中检索它们。
所有数据都应在请求范围内。什么是正确的方法?
答案 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" %>