如果我将名为“foo”的对象放入Spring控制器的模型中,并想限制其范围,我该怎么做呢。
假设我有一个页面使用jsp标记作为参数“foo”。如果我在jsp中调用标签,比如<tag foo="${bar}" />
,我觉得模型“foo”正在干扰“bar”。
或者即使不是,如果我只想限制模型“foo”的范围只能在jsp页面中访问,而不能在其他页面中访问(在'ed page或第一个jsp页面调用的标记中)。
答案 0 :(得分:1)
基本上你不能限制范围。将对象从Controller传递到视图的唯一方法是通过请求范围属性。
如果单个页面有很多不同的视图/控制器,您可能希望为请求属性设置命名约定,例如控制器的类名。唯一的麻烦是访问它们不是那么干净
${requestScope['com.your.app.Controller.RESULT']}
一种可能是用于创建变量的页面范围版本:
<c:set var='result' value="${requestScope['com.your.app.Controller.RESULT']}"/>
...
${result}
在你的例子中,我不确定我会说'foo'干扰'bar'看起来你正在将标签作为参数传递给标签?