2012-08-27 35 views
2

我使用了El,但它無效。 我收到一個錯誤:javax.el.ELException: Cannot convert 1 of type class java.lang.String to class java.lang.Long。 1是計數。在JSP中使用EL時出錯

 <h3>My Shopping</h3> 
      <c:set var="count" value=" ${sessionScope.cart.count}" /> 
      ${count} 
      <%-- 
      <c:set var="cart" value="${sessionScope.cart}" /> 
      <c:set var="count" value=" ${sessionScope.cart.count}" /> 
      <br/> 
      <c:if test="${count < 1}" >  
       No Product in your cart 
      </c:if> 
      <c:if test="${count > 0}"> 
       <c:set var="listCart" value="${sessionScope.cart.cart}" /> 
+1

你能關閉刪除死代碼的評論嗎? – Florent

回答

3

此異常表明${count}String,不是Long(或Integer,這也將工作)。

假設會話範圍內的cart bean的count屬性已經是正確的類型,那麼到目前爲止,我在代碼中發現的唯一原因是在值之前有一個懸空的前導空格。

<c:set var="count" value=" ${sessionScope.cart.count}" /> 
<!-- ---------------------^       --> 

這實際上使得它成爲String" 1"這顯然不是一個有效的數字。去除那個有問題的空間應該解決問題。

+0

謝謝。我從這段代碼中得到錯誤:''。我修正了:''。end it running running – hoanvd1210

+0

這是一個不同的問題,只有在使用JSPX或Facelets代替JSP時纔會發生,'<'是XML中的保留字符。 – BalusC