spring bean - 在属性中注入Context Base URL

时间:2011-12-01 16:35:41

标签: spring-mvc javabeans

在Spring 3上,我在applicationContext.xml中得到了一个带有这个定义的bean:

<bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties">
    <property name="service" value="http://www.mysite.com/my_webapp/j_spring_cas_security_check"/>
    <property name="sendRenew" value="false"/>
</bean>

而不是

"value="http://www.mysite.com/my_webapp/j_spring_cas_security_check"

有没有办法直接动态地注入我的tomcat服务器的“基本URL”+ j_spring_cas_security_check

(就像我们可以在jsp中设置:

  <base href="<%=request.getScheme() + "://" + request.getServerName()+ ":" +  request.getServerPort() + request.getContextPath()+ "/"%>" />

1 个答案:

答案 0 :(得分:0)

试试这个:

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:url value="/j_spring_cas_security_check" var="baseUrl" />
<base href="${baseUrl}" />

spring:url计算相对于应用程序路径的URL“/ j_spring_cas_security_check”并将其存储在baseUrl变量中。在此之后,您可以在JSP中替换$ {baseUrl}。

建议不要使用基本标签。相反,你应该有相对的路径,但这取决于你。

希望它有所帮助。