3

我需要生成几个<liferay-ui:panel>s。这个想法是有一个看起来像这样的 JSP:

<liferay-ui:panel-container extended="true">
    <%=MyJavaClass.generatePanel() %>
</liferay-ui:panel-container>

和 Java 代码如下:

class MyJavaClass {
    public static String generatePanel() {
        String result="<liferay-ui:panel collapsible=\"false\" extended=\"true\" title=\"Some Title\">Some Content</liferay-ui:panel>";
        return result;
    }
}

Liferay 不会转换<liferay-ui panel...>. 我猜这是因为它只在执行 java 代码之前这样做,所以我没有得到任何面板。

在我生成面板,有什么方法可以让 Liferay 通过 JSP ?还是我错过了更好的方法来做到这一点?

4

1 回答 1

3

将该行<liferay-ui:panel collapsible=\"false\" extended=\"true\" title=\"Some Title\">Some Content</liferay-ui:panel>"移至位于 的 jsp 标记WEB-INF/tags/liferay-panel.tag

并将标签包含在所需的jsp中。

以下是相同的解决方案:

liferay-panel.tag

<liferay-ui:panel collapsible=\"false\" extended=\"true\" title=\"Some Title\">
    Some Content
</liferay-ui:panel>

并包括这样的标签:

<%@taglib prefix="tags" tagdir="/WEB-INF/tags"% >
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<liferay-ui:panel-container extended="true">
     <c:forEach var="i" begin="1" end="20" step="1">
        <tags:liferay-panel/>
     </c:forEach>
</liferay-ui:panel-container>
于 2012-06-20T08:37:23.270 回答