如何在标签中包含jsp代码?见例子

时间:2012-04-26 20:16:27

标签: html jsp tags liferay

就像话题说的那样;如何在标签中包含普通的jsp代码? (在我的案例中,liferay标签,但它也可以是html标签)

示例:

<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
extended="<% if (noService==false) {
                  out.print("false");
                  }
               %>">
Test panel
</liferay-ui:panel>

在示例中,我只想插入“false”,因此表达式如下所示:

<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
extended="false">
Test panel
</liferay-ui:panel>

这给了我一个jasperException ..我习惯了PHP这种代码包含的日常肉类。

有人可以指出我正确的方向吗?

提前致谢!

4 个答案:

答案 0 :(得分:3)

<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
    extended="${noService}">
    Test panel
</liferay-ui:panel>
必须在请求中设置

noService,例如:

的java:

...

    request.setAttribute("noService", false);

...

答案 1 :(得分:2)

你可以(我正在使用EL,因为它们更干净):

  1. 如果变量noService是布尔值:

    <c:set var="isExtended"><%=noService ? "true" : "false" %></c:set>;
    
    <liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
            extended="${isExtended}">
        Test panel
    </liferay-ui:panel>
    
  2. 如果变量noService是String:

    <c:set var="isExtended"><%="false".equals(noService) ? "false" : "true" %></c:set>
    
    <liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
            extended="${isExtended}">
        Test panel
    </liferay-ui:panel>
    

答案 2 :(得分:1)

您也可以这样做。

<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
extended="<%=String.valueOf(noService)%>">

答案 3 :(得分:0)