【问题标题】:EL Exception on JSP when passing arguments to liferay-ui:message将参数传递给 liferay-ui:message 时 JSP 上的 EL 异常
【发布时间】:2015-06-11 09:47:14
【问题描述】:

所以我试图在我的 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。这里有什么问题?

【问题讨论】:

    标签: java jsp liferay jstl el


    【解决方案1】:

    Arguments in liferay-ui:message中所述

    标签接受一个名为“arguments”,类型为Object []的属性。

    因此下面的 sn-p 应该可以工作:

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

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

    通过 EL 传递参数:

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

    【讨论】:

    • 理论上是这样,但事实是直到几天前,它还可以使用单个元素,如果我使用 scriptlet (&lt;%=number%&gt;) 也很奇怪,它可以工作
    • 好吧,我从未尝试过。这是基于上述参考的内容。
    猜你喜欢
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    相关资源
    最近更新 更多