2016-10-26 4 views
0

私は、WebLogic Serverバージョン12.1.2.0.0にデプロイされた春のMVCアプリケーションのJSPにこのコードを入れました。私はJSTL-1.2JSP:jstl core java.lang.Byteの条件

2-> [${item.companyLogo}] 
3-> [${empty item.companyLogo}] 
4-> [${item.companyLogo eq null}] 
<c:choose> 
<c:when test="${empty item.companyLogo} "> 
IS EMPTY 
<img src="${contextPath}/images/devices-logo.gif" /> 
</c:when> 
<c:otherwise> 
NOT EMPTY 
</c:otherwise> 
</c:choose> 

を使用しても

<c:when test="${empty item.companyLogo == true} "> 

しかし、私はこれらを参照してください画面で試したのです:私は${item.companyLogo.length} と長さをチェックしようとした場合、私は

2-> [] 
3-> [true] 
4-> [true] 

NOT EMPTY 

をこのエラーが発生しました:

]] Root cause of ServletException. 
java.lang.NumberFormatException: For input string: "length" 
     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) 
     at java.lang.Integer.parseInt(Integer.java:492) 
     at java.lang.Integer.parseInt(Integer.java:527) 
     at javax.el.ArrayELResolver.toInteger(ArrayELResolver.java:378) 
     at javax.el.ArrayELResolver.getValue(ArrayELResolver.java:198) 
     at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:188) 
     at com.sun.el.parser.AstValue.getValue(AstValue.java:138) 
     at com.sun.el.parser.AstValue.getValue(AstValue.java:183) 
     at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:224) 
     at weblogic.servlet.jsp.ELHelper.evaluate(ELHelper.java:32) 
     at jsp_servlet._web_45_inf._jsp._result.__productcategoryresult._jspService(__productcategoryresult.java:330) 
     at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) 
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280) 
     at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254) 
     at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136) 
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:341) 
     at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:478) 
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:367) 
     at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:238) 
     at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:573) 
     at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:480) 
     at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:347) 
     at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:204) 
     at jsp_servlet._web_45_inf._jsp._template.__template._jsp__tag10(__template.java:659) 

このプロパティのタイプcompanyLogo

Byte[] companyLogo; 

答えて

0

ではなく、JSTLの機能lengthを使用している:あなたのページの先頭にも

  • インポート機能のtaglib:

    <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 
    
  • 次に長さを取得する:

    ${fn:length(item.companyLogo)}