2013-08-14 2 views
0

나는 동안 방법는 스프링 MVC와하는 Liferay - 자원 매핑 문제가

@ResourceMapping("image") 
public void getImage(ResourceRequest request, ResourceResponse response, 
    @RequestParam("year") final int year){ 
    //serve resource here 
} 

을 가지고, 내가 내 컨트롤러에서

<form:hidden path="year"/> 
<portlet:resourceURL id="image" var="imageURL"> 
    <portlet:param name="year" value="${bean.year}" /> 
</portlet:resourceURL>  
<img src="${imageURL}" alt="Image" /> 

이 내 JSP로에서 이상한 상황 -

건너 온 실행,

NumberFormatException이 throw됩니다. 문자열 [] 내가 soultion이 매개 변수가 두 번 전달되는 어떤 이유로, 이미 올해라는 이름의 숨겨진 변수가있는 한, 다른 것으로 year에서 portlet:param name을 변경하는 것입니다 발견 2013,2013

int로 변환 요청을 보내고 값을 변환하지 못합니다.

누군가가 이것에 대해 더 많은 지식을 가지고 있다면 같은 매개 변수 이름이 허용되지 않는 이유를 알고 싶습니다.

감사

답변

1

문제는 <form:hidden path="year"/> 아마입니다. 이 코드를 사용하여 요청에 연도 매개 변수를 넣고 <portlet:param name="year" value="${bean.year}" /> 매개 변수에 연도 매개 변수를 추가합니다. 따라서 컨트롤러에 매개 변수의 배열을 가져오고 int로 변환 할 수 없습니다.

JSP의 코드 스 니펫에 따르면 <form:hidden path="year"/>은 사용하지 않아도됩니다.