【问题标题】:Spring MVC and Liferay - Resource Mapping issueSpring MVC 和 Liferay - 资源映射问题
【发布时间】:2013-08-14 01:22:53
【问题描述】:

我遇到了这种奇怪的情况-

在我的 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 被抛出:无法将字符串 [] 转换为 int 2013,2013

我发现灵魂是将portlet:param nameyear 更改为其他内容,因为已经有一个名为year 的隐藏变量,由于某种原因,该参数在请求中被传递了两次并且无法转换值。

如果有人对此有更多了解,我想知道为什么不能接受相同的参数名称。

谢谢

【问题讨论】:

    标签: java spring-mvc liferay spring-portlet-mvc


    【解决方案1】:

    问题可能出在&lt;form:hidden path="year"/&gt;。使用该代码,您将参数 year 放入请求中,使用 &lt;portlet:param name="year" value="${bean.year}" /&gt; 您将另一个参数 year 放入请求中。因此,您会在控制器中获得 year 参数数组,并且无法转换为 int。

    根据你JSP的代码sn-p,我猜&lt;form:hidden path="year"/&gt;是没有必要用的。

    【讨论】:

      猜你喜欢
      • 2015-02-26
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多