Spring 3 MVC 从控制器访问全局变量

Posted

技术标签:

【中文标题】Spring 3 MVC 从控制器访问全局变量【英文标题】:Spring 3 MVC access Global Variable from Controller 【发布时间】:2013-10-23 23:16:37 【问题描述】:

我在 Logincontroller.java 中有一个公共变量,如果有一些特定的用户,它为所有 JSP 页面设置 Boolean flag = true。

我想在 Header.jsp 中访问这个全局变量,我如何在不使用 ModelandView 的情况下这样做,因为如果我使用 MV,我必须更改所有 @RequestMapping JSP 页面的代码......谢谢我是 Spring Framework 的新手。 ..

public Boolean flag = false;

@RequestMapping(value = "/login.html", method = RequestMethod.GET) 
public ModelAndView error(HttpServletRequest req, HttpServletResponse res)  
    ModelAndView mv = new ModelAndView(); 
    ............... 
    if(flag) // want to avoid doing this for each pages 
        mv.addObject("specialUser", true); // want to avoid doing this for each pages 
     
    return mv 

同样,我有多个 @RequestMapping 用于不同的页面,例如 /admin、/user、/index 等

【问题讨论】:

Java 中没有全局变量这样的东西。你到底是什么意思? 对不起,我的意思是 Logincontroller.java 的公共变量 发布您的@Controller 代码。 '公共布尔标志 = false; @RequestMapping(value = "/login.html", method = RequestMethod.GET) public ModelAndView error(HttpServletRequest req, HttpServletResponse res) ModelAndView mv = new ModelAndView(); ................ 返回 mv ' 的方式与我为不同的页面(如 /admin、/user、/index 等)有多个 @RequestMapping 相同 代码在 cmets 中总是看起来很糟糕。编辑您的问题并在此处添加代码。 【参考方案1】:

我也遇到过同样的问题,我想我有解决办法,虽然我还没有尝试过。

我认为我们是ViewPreparer。它们看起来很直接。

祝你好运!

【讨论】:

以上是关于Spring 3 MVC 从控制器访问全局变量的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa xcode 4.3 全局变量

MVC里面的Razor中怎么建全局变量啊???急求

将 Spring MVC 中的默认/全局日期格式设置为 ISO 8601

Spring 3 MVC 从控制器访问 HttpRequest

怎样在基于注解的spring当中设置全局变量?

在CakePHP中创建全局变量的最佳方法是什么?