将参数传递给liferay-ui:message时,JSP上的EL异常

时间:2015-06-11 09:47:15

标签: java jsp liferay jstl el

所以我试图在我的JSP上使用这一行:

<liferay-ui:message key='test.mymessage' arguments='${number}'/>

test.mymessage = Number is {0}

我收到了这个错误:

javax.el.ELException: No puedo convertir 10 desde tipo class java.lang.Integer a class [Ljava.lang.Object;

大致翻译为:

javax.el.ELException: Can't convert 10 from type class java.lang.Integer to class [Ljava.lang.Object;

我甚至尝试过:

<liferay-ui:message key='test.mymessage' arguments='10'/>

奇怪的是,这已经成功并且几天前开始失败了,我的一些工作伙伴可以毫无问题地运行这个jsp。这有什么问题?

1 个答案:

答案 0 :(得分:1)

Arguments in liferay-ui:message

中所述
  

标签接受名为&#39; arguments&#39;的属性。类型为Object []。

因此,以下代码段应该有效:

通过scriptlet传递参数:(如果传递单个参数)

<liferay-ui:message key="test.mymessage" arguments="<%=number %>" />

OR

通过EL传递参数:

<%
    Integer[] arguments = new Integer[]{number};
%>
<liferay-ui:message key='test.mymessage' arguments='${arguments}' />