我需要生成几个<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 ?或者我错过了更好的方法来做到这一点?
答案 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>