在Spring MVC中,我们可以使用
@SessionAttributes("variable")
和
model.addAttribute("variable", new Object());
这样,这个变量一旦设置为availabel到用户会话。
现在,我希望此变量在应用范围被设定为,当user 1
套这个属性也将提供给我的所有用户user 2
, user 3
, user 4
等。
这个变量将我的jsp页面上使用。 请建议。
在Spring MVC中,我们可以使用
@SessionAttributes("variable")
和
model.addAttribute("variable", new Object());
这样,这个变量一旦设置为availabel到用户会话。
现在,我希望此变量在应用范围被设定为,当user 1
套这个属性也将提供给我的所有用户user 2
, user 3
, user 4
等。
这个变量将我的jsp页面上使用。 请建议。
如果你的意思是Web应用程序的范围,那么你需要在设置它ServletContext
属性。 因为这不是从用户的角度在web应用程序做一个平常的事,春不提供快捷方式。 相反,刚刚取回ServletContext
通过将其注入你要么@Controller
或提供它作为参数传递给一个处理方法和添加属性
ServletContext ctx = ...;
ctx.setAttribute("name", new Object());
请注意,有一个ServletContext
每个Web应用程序。 该ServletContext
并不能保证任何原子,即。 它是不同步的。 你需要自己做同步,如果应用需要。
您可以定义一个简单的POJO如春Bean服务做。
@Service
public class MyVariable{
private Object myVar;
public Object getMyVar() {
return myVar;
}
public void setMyVar(Object myVar) {
this.myVar = myVar;
}
}
然后,你可以在你@Controller @Autowired这项服务,并得到它的任何东西。