在servlet和java文件之间传递值

时间:2011-05-10 07:43:35

标签: java spring servlets tiles

我有一个弹簧控制器,它设置一些值来请求并显示一个jsp页面。对于视图部分,我们使用tile。结果页面有3个部分,标题,内容和页脚jsp。 这个头jsp使用java文件,我想从这个文件访问第一个spring控制器创建的属性。没有使用会话有没有办法做到这一点? 当我尝试request.getAttribute时,它给出null。我认为这是因为在请求值设置之后它不是立即文件。

2 个答案:

答案 0 :(得分:1)

只要所有内容都在同一个请求中运行,并且控制器代码在视图部分之前执行,setAttribute()就可以运行。要调试这样的问题,请使用Filter将请求URL和属性转储到控制台或日志。

如果这些调用在不同的请求中,则有两个选项:会话和Spring bean(使用会话bean或您自己的实现)。我更喜欢bean,因为它们是类型安全的,它们允许我将我的代码与Servlet API分开,而Servlet API很难测试。

答案 1 :(得分:1)

你真的需要输入一些代码来获得代码答案,但除非你使用JSP scriptlet,否则我猜这是你在标题中使用的Java bean。这当然不能访问请求(因此会话)也不应该访问它。如果您希望它能够访问请求/会话,您可能想要做的是将其转换为标记库。