spring3 mvc如何配置jsp页面中使用的全局变量

问题描述

例如我在很多jsp页面都会引用到css,对于css的路径因为在开发时和发布时是不一样的,所以我想把它们的路径配置成变量,在一处统一管理,就像下面这样:在某处定义一个类似properties的文件,文件内容如:csspath = myapp/css/然后在jsp页面中就可以直接这样使用:<link rel="stylesheet" type="text/css" href="${csspath}mystyle.css"/>请问如何可以达到这样的效果,求具体方法

解决方案

你可以讲这个参数配置在property文件里,然后利用spring启动的时候加载property文件,然后再你的一个登录页面的controller中或是一个公共controller中利用@Value注入,之后store到session中前台就可以直接利用jstl获取了。
解决方案二:
我的思路是:(1)写到配置文件里。basePath=/blog/(2)spring注入到一个自己的属性类中。<!--spring的配置文件--><bean id="beanConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location"><value>classpath:conf.properties</value></property></bean><!--spring的配置文件--><bean id="myConfig" class="com.slowoo.blog.config.MyConfig"> <property name="basePath" value="${basePath}" /></bean>(3)创建一个拦截器,在拦截器中,将这个参数放入session。<!--spring的配置文件--><mvc:interceptors> <!-- 每个页面都要走的一个拦截器 --><mvc:interceptor> <mvc:mapping path="/**"/><bean class="com.slowoo.blog.interceptor.BaseInterceptor"/> </mvc:interceptor></mvc:interceptors> /*BaseInterceptor类中部分代码*/@Resourceprivate MyConfig myConfig;@Overridepublic boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {HttpSession session = request.getSession();session.setAttribute("basePath", myConfig.getBasePath()); // 每个页面,都设置一下基础路径return true;}(4)就可以在jstl中自由使用了。<img src="${basePath}/img/logo.jpg" />
解决方案三:
用spring MVC的ThemeResolver应该是可以实现的,不过我没尝试用
解决方案四:
看看你的应用构建脚本吧。maven、ant你都可以设定开发、测试、生产等不同的构建方式。比如你测试的css可以放到/test/css里面,发布的可以用/release/css里面。你需要测试的时候就把/test/css拷贝到war里面,发布的时候就把/release/css拷贝到war里面。而在war里面都可以只叫css。这样就不用担心搞不清楚了。
解决方案五:
diaozhanming 说的很明显了,但如果csspath = myapp/css/ 这个只有一个的话,就直接写在web.xml里面也可以的。
解决方案六:
ServerContext.setAttribute("csspath","myapp/css/");

时间: 2024-09-18 15:57:24

spring3 mvc如何配置jsp页面中使用的全局变量的相关文章

在JSP页面中的应用JavaBean

JavaBean 是一种基于 Java 的软件组件.JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性. JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等.如果我们有三个 JavaBean ,它们分别具有显示新闻.股票价格.天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个 Bean ,使用

使用技巧:在JSP页面中的应用JavaBean

js|技巧|页面 JavaBean 是一种基于 Java 的软件组件.JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持.这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性. JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等.如果我们有三个 JavaBean ,它们分别具有显示新闻.股票价格.天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个

java-使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据

问题描述 使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据 我从网上找了几篇,大多都是在JSP操作的,我想仿照http://blog.csdn.net/kakukeme/article/category/819230 该网址的例子做,但是数据却没有显示出来,所以想问下各位有没完整的可以运行的实例,给我一个. 解决方案 参考一下吧:http://download.csdn.net/detail/qq_19558705/9393750 解决方案二: ?用se

使用mvc框架访问jsp页面的乱码问题

问题描述 使用mvc框架访问jsp页面的乱码问题 在使用mvc框架的时候先连接数据库,然后访问jsp页面,在进行用户名以及密码验证的 时候,英文可以正确通过,而中文则不行,会出现乱码问题.我在web.xml文件里面设置 了filter的编码为UTF-8.也在applicationContext.xml里面连接数据库的时候设置了编码 为UTF-8. 数据库里面的编码也是相同的,为什么还会报这样的错误.求各位大神帮帮忙,我新手来的.(为什么我换台电脑不改代码又可以实现了.这是为什么?) (为什么我在

spring mvc-SpringMVC 后台怎么获取前台jsp页面中file中的文件。

问题描述 SpringMVC 后台怎么获取前台jsp页面中file中的文件. 把file中的Excel文件提交,后台该如何获取这个Excel文件. 解决方案 SpringMVC默认是关闭fileupload功能的,开启该能够并验证文件上传,需要做如下几件事情: 第一:打开SpringMVC的文件上传功能: ***-servlet.xml中配置: <bean id="multipartResolver" class="org.springframework.web.mul

在JSP页面中怎么弹出另外一个JSP页面

问题描述 在JSP页面中怎么弹出另外一个JSP页面:举个例子,一个A页面和一个B页面,现在我就想在查询我们数据库的时候,如果我们的设备有误,就弹出B页面. 解决方案 解决方案二:window.open或者window.showModalDialog解决方案三:response.redirect解决方案四:引用1楼shixitong的回复: window.open或者window.showModalDialog 能具体一点吗?解决方案五:引用2楼yuzhuuse的回复: response.redi

配置 iles框架-Spring MVC的配置Tiles框架中配置后出面错误

问题描述 Spring MVC的配置Tiles框架中配置后出面错误 Spring MVC的配置Tiles框架中配置后出面错误,请大家帮着分析一下原因,以下是spring-servlet.xml <?xml version="1.0" encoding="UTF-8"?> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.spri

servlet-spring mvc项目访问jsp页面出错

问题描述 spring mvc项目访问jsp页面出错 严重: Servlet.service() for servlet jsp threw exception java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at org.gjt.xpp.impl.tokenizer.Tokenizer.next(Tokenizer.java:1274) at org.gjt.xpp.im

jsp页面中表达式语言中的$符号不起作用的解决方法_JSP编程

今天myeclipse里部署了之前做的一个测试项目,发现jsp里的$符号tomcat启动后页面上显示出来了,百度搜了下别人也有类似的问题出现过.经提醒原来是web.xml配置的version设置的是2.5而我tomcat5启动的.是tomcat的版本低于web的版本,从而导致$符号不能正常使用. 后将tomcat5改用tomcat6.jdk采用1.6 启动spring2.5项目.$显示问题解决. 以下是网上摘录的详细说明: 在jsp页面中用表达式语言中的$符号,如${pageScope.titl