1

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

例子:

<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

4 回答 4

3
<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
    extended="${noService}">
    Test panel
</liferay-ui:panel>

noService必须在请求中设置,例如:

爪哇:

...

    request.setAttribute("noService", false);

...
于 2012-04-26T20:49:31.020 回答
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 是一个字符串:

    <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>
    
于 2012-04-27T07:41:49.947 回答
1

你也可以这样做。

<liferay-ui:panel id="panel-c4" title="Service Bulletins" collapsible="true"
extended="<%=String.valueOf(noService)%>">
于 2012-04-27T06:46:03.550 回答
0

您需要使用 Bean
阅读以下内容:
http ://www.exampledepot.com/egs/javax.servlet.jsp/usebean.jsp.html

于 2012-04-26T20:42:44.003 回答