试图使这个条件起作用。如何设置此变量?

时间:2018-10-02 14:32:34

标签: jsf trinidad

我试图有条件地设置此变量,所以当我显示一个空条目时,我不必显示日期斜杠。

  <c:choose>
    <c:when test="${fn:length(findYear[1]) eq 0}">...</c:when>
    <c:set var="dateformat" value="fn:length(findYear[1]) " />
    <c:when test="${fn:length(findYear[1]) gt 0}">
      <c:set var="dateformat" value="${findYear[1]} / ${findYear[2]} / ${findYear[0]}" />
    </c:when>
  </c:choose>

  <tr:column  width="71px" align="center" headerText="Date" sortable="true" sortProperty="type">
    <tr:outputText value= "${dateformat}">
      <!--  "${findYear[1]} / ${findYear[2]} / ${findYear[0]}"  readOnly= "true"  > -->
    </tr:outputText>​

现在,当我调用变量时什么也没显示。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

<c:choose>
  <c:when test="${empty findYear[1]}">
    <c:set var="dateformat" value="${findYear[0]}" />
  </c:when>
  <c:otherwise>
    <c:set var="dateformat" value="${findYear[1]} / ${findYear[2]} / ${findYear[0]}" />
  </c:otherwise>
</c:choose>
  • 当参数为empty或空字符串时,true运算符将返回null
  • 第一个<set>语句位于任何<when>块之外,并且其值不包含${} ...
  • 当您的条件互为补充时,可以使用<otherwise>