首页 > spring mvc有没有全局变量?

spring mvc有没有全局变量?

spring mvc当中有没有全局变量,类似我设置项目的路径base = "/rs" 或者base="http://192.168.0.1/rs"
然后在页面使用el表达式获取${base} 引入js或者css

因为网站部署在内网的机器如192.168.1.1 tomcat根目录 外网访问只能通过61.11.11.11:1002/project 这样进行访问,request.getContextPath()只能获取根目录。


说到底就是项目名字引起的,把项目直接仍在webApps->ROOT 下 文件夹名字大写,就不需要项目名了。
引入css以及js直接 就 / 好了


这和全局没关系啊,这值应该自己获取到,不是你设置的,


在类路径下新建configure.properties文件,内容如下:

web.base=root   

然后在spring-mvc-servlet.xml的配置如下xml片段文,注意一定要是spring mvc配置文件中。

<bean  
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="locations">  
        <list>  
            <value>classpath:configure.properties</value>  
        </list>  
    </property>  
</bean>  

然后在controller使用@Value注入配置的值

    @Value("${web.base}")  
    private String base; 

内网是这么访问的http://192.168.1.1/rs,外网是这么访问的:http://61.11.11.11:1002/project/rs

反向代理的问题不太懂,不过你把内网外网的路径搞成一样不就行了吗?


Threadlocal 可以试试


专门写一个配置文件,存储你需要的所有全局变量,同时构造一个方法动态读取配置,前台可以直接引入。(一个想法)


本身 spring 可以在 xml 配置类似全局变量,如在 ./application.propertites 配置固定变量,然后读取

你的问题应该 是属于 内网 到 外网 URL映射 转发的问题吧,在公网的机器上配置一下

【热门文章】
【热门文章】