3

我有一个格式变量 ftDtClo 以如下形式定义,

public String getFtDtClo () {
  String dateStr = "";
    if(this.getCse().getDtClo()!=null) {
        dStr = DtUtil.formatDate(this.getCse().getgetDtClo(), DtUtil.FORMAT_MM_DD_YYYY_KK_MM_SS);
    }
   return dateStr;            
}

在 JSP 中,代码看起来像,

<c:choose>
        <c:when test="${not empty cseList.ftDtClo}">
        <c:out value="${cseList.ftDtClo}"/>
        </c:when>
        </c:choose>

但我得到以下异常,

wrapped exception:
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "test" with value "${not empty cseList.ftDtClo}": An error occurred while getting property "ftDtClo" from an instance of class abc.cseDetailLists (java.lang.NullPointerException)
    at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:306)
    at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:161)

我假设不为空将负责空检查。我错过了什么吗?任何 i/p 都受到高度赞赏。

4

2 回答 2

4
   <c:choose>
      <c:if test=${cseList != null}>  
        <c:when test="${not empty cseList.ftDtClo}">
        <c:out value="${cseList.ftDtClo}"/>
        </c:when>
       </c:if>
    </c:choose>
于 2013-04-04T11:21:09.847 回答
1

尝试改变这一点:

    public String getFtDtClo () {
        String dateStr = "";
        if(this.getCse()!=null && this.getCse().getDtClo()!=null) {
          dStr = DtUtil.formatDate(this.getCse().getDtClo(), DtUtil.FORMAT_MM_DD_YYYY_KK_MM_SS);
        }
      return dateStr;            
   }

如果它不起作用,请检查您的功能DtUtil.formatDate

于 2013-04-04T23:28:49.080 回答