在servlet和java文件之间传递值

在servlet和java文件之间传递值,java,spring,servlets,tiles,Java,Spring,Servlets,Tiles,我有一个spring控制器,它正在设置一些要请求的值,并显示一个jsp页面。对于视图部分,我们使用平铺。结果页面有3个部分,页眉、内容和页脚jsp。 这个头jsp使用一个java文件,我想从这个文件访问第一个spring控制器创建的属性。有没有办法不用session就可以做到这一点? 当我尝试request.getAttribute时,它给出null。我认为这是因为在请求值设置之后,它不是一个立即文件。只要所有内容都在同一个请求中运行,并且控制器代码在视图部分之前执行,setAttribute(

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

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


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

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

您的视图中是否有formbean?我可以在过滤器中看到值,并且您的视图代码在过滤器完成之前运行?如果是这样,则有人会删除该值,或者视图会获得一个新的请求实例,该实例是由另一个筛选器创建的。