2012-10-25 2 views
0

서블릿 서블릿포틀릿으로 실행해야하는 Spring MVC를 사용하는 애플리케이션을 작성하고 있습니다. 이것은 Spring 3 (JSR-286)에서 쉽게 할 수 있지만 포틀릿 1.0 스펙 (JSR-168)을 사용해야한다. 호환되기 위해 나는 Spring MVC를 2.5 (more information here)로 다운 그레이드했다.Spring MVC 2.5 서블릿/포틀릿 호환 URL

서블릿/포틀릿 호환 URL을 생성 할 수 없다고 생각되면 모든 것이 잘 작동합니다! 봄 3 사용

, 내가 작성합니다

<spring:url value="/foo"> 
    <spring:param name="action" value="foo"/> 
</spring> 

스프링 2.5에서 더 spring:url 태그가 없습니다. c:url으로 시도했지만 서블릿 호환 URL (포틀릿 아님) 만 생성합니다.

서블릿/포틀릿 호환 URL 생성은 어떻게 수행합니까?

답변

1

아래 해결 방법에 대해 확실하지 않지만 도움이 될 수 있습니다.

당신은 포틀릿 호환 URL에 대한 포틀릿 태그를 사용할 수 있습니다

<%@ taglib uri=”http://java.sun.com/portlet” prefix=”portlet” %> 
... 
<portlet:actionURL ... > 
    <portlet:param name="action" value="foo"> 
</portlet:actionURL> 

(난 당신이 태그에 대한 자세한 내용은 Java Portlet 1.0 specification (JSR-168) "포틀릿 태그 라이브러리"장에서 살펴 봐야하는 것이 좋습니다)

그런 다음 포틀릿 또는 서블릿 url을 생성하려면 현재 포틀릿 또는 서블릿을 사용 중인지 여부를 감지하는 조건을 사용할 수 있습니다 (가능한 경우 모름).

<c:choose> 
    <c:when test="usingPortlet"> 
     <portlet:actionURL ... > ... </portlet:actionURL> 
    </c:when> 
    <c:otherwise> 
     <c:url ... > ... </c:url> 
    </c:otherwise> 
<c:choose>