2017-02-20 242 views
0

我有很多页面的.jsp,我想指定的上下文和CSS/JS版本在我所有的页面是这样的:在所有JSP页面设置可变

<c:set var="version" value="0.0.1" /> 
<c:set var="path" value="${pageContext.request.contextPath}" /> 

<link type="text/css" rel="stylesheet" href="${path}/resources/css/foo.css?v=${version}"> 

如何设置我的所有JSP页面只有一次path变量和我的自定义变量version

+0

把它放在一个包含的JSP文件中,并设置为请求范围? –

+0

@DaveNewton,我必须将这个文件包含在我所有的jsp页面中? – Youssef

+0

如果你想这样做,是的。通过过滤器将其加入会话的想法是一种更清洁的解决方案,但这取决于您的需求。不过,我认为你已经分裂了你的CSS。 –

回答

0

如果你想他们是由连重定向和等毕竟JSPS访问,你应该让他们会话范围,所以他们不会“死”每个请求后,只要将生活作为用户的会话生命:

<c:set var="version" value="0.0.1" scope="session" /> <c:set var="path" value="${pageContext.request.contextPath}" scope="session" />

+0

和我把这个?在jsp文件中,我将它包含在所有的jsp页面中? – Youssef

+0

是的,但只有当这个页面作为第一个被执行时,否则你可能想实现一些[filter](https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Filter。 html)并在那里设置变量,或者在servlet中使用'request.getSession()。setAttribute(String s,Object value);' –