java - spring mvc有没有全局变量?
怪我咯
怪我咯 2017-04-18 09:30:24
0
7
295

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()只能获取根目录。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(7)
小葫芦

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

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

巴扎黑

在类路径下新建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; 
黄舟

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

大家讲道理

Threadlocal 可以试试

迷茫

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

迷茫

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

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

PHPzhong

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!