Java 将参数传递给liferay ui:message时JSP上的EL异常
因此,我尝试在我的JSP上使用这一行:Java 将参数传递给liferay ui:message时JSP上的EL异常,java,jsp,liferay,jstl,el,Java,Jsp,Liferay,Jstl,El,因此,我尝试在我的JSP上使用这一行: <liferay-ui:message key='test.mymessage' arguments='${number}'/> test.mymessage = Number is {0} 这大致可以转化为: javax.el.ELException: Can't convert 10 from type class java.lang.Integer to class [Ljava.lang.Object; 我甚至试过: <li
<liferay-ui:message key='test.mymessage' arguments='${number}'/>
test.mymessage = Number is {0}
这大致可以转化为:
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。这里有什么问题?如中所述
标记接受类型为Object[]的名为“arguments”的属性
因此,以下代码段应该可以工作:
通过scriptlet传递参数:(如果传递的是单个参数)
或
通过EL传递参数:
<%
Integer[] arguments = new Integer[]{number};
%>
<liferay-ui:message key='test.mymessage' arguments='${arguments}' />
这是理论,但事实是,直到几天前,它还可以与单个元素一起工作,而且如果我使用scriptlet(
),奇怪的是,它工作得很好,我从未尝试过。这是基于上述参考的。
<liferay-ui:message key="test.mymessage" arguments="<%=number %>" />
<%
Integer[] arguments = new Integer[]{number};
%>
<liferay-ui:message key='test.mymessage' arguments='${arguments}' />