2013-08-14 1 views
0

Я наткнулся на это странное СИТУАЦИИSpring MVC и Liferay - Отображение ресурсов проблема

В моей Jsp, я

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

В мой контроллер у меня есть метод

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

Во время исполнение,

NumberFormatException выбрано: Can not преобразование строки [] в целое 2013,2013

Я нашел soultion, чтобы изменить portlet:param name от year к чему-то еще, так как есть уже скрытая переменная с именем года, по какой-то причине параметр получает передается дважды запрос и не может преобразовать значение.

Я хотел бы знать, почему такое же имя параметра неприемлемо, если у кого-то есть больше знаний об этом.

Благодаря

ответ

1

Проблема, вероятно, в <form:hidden path="year"/>. С помощью этого кода вы поместите параметр в год на запрос и с <portlet:param name="year" value="${bean.year}" /> вы добавили еще один параметр год. Таким образом, вы получаете массив параметров года в вашем контроллере и преобразование в int невозможно.

В соответствии с фрагментом кода вашего JSP, я думаю, что <form:hidden path="year"/> не нужно использовать.