在JSP中生成liferay-ui元素

时间:2012-06-20 08:09:19

标签: java jsp liferay liferay-6

我需要生成几个<liferay-ui:panel>个。想法是让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 ?或者我错过了更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:3)

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

并在所需的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>