我在我的jsp中有<td>
,它有一個<spring:bind>
標記。JSP嘗試將字符串轉換爲長
<td>
<spring:bind path="mailListRequest.offSeason">
<select name="<c:out value="${status.expression}" />" id="<c:out value="${status.expression}" />">
<option value="0">Select</option>
<c:forEach var="t" begin="2" step="1" end="5">
<option value="<c:out value="${t} star"/>" <c:if test="${status.value eq t}"> selected</c:if>><c:out value="${t} star"/>
</option>
</c:forEach>
<option value="boutique hotels">boutique hotels</option>
</select>
</spring:bind>
</td>
"mailListRequest.offSeason"
是在服務器側(Java)的一個string
。這裏的目標是迭代<c:forEach..>
循環變量"t"
。因此,迭代將是2,3,4,5;
,並在<option value..>
我已經使每次迭代返回一個值與字符串/字star
在它的前面,因此輸出將是2 star, 3 star, 4 star...
。
的問題:
的問題是,每當我選擇在<c:forEach>
循環或我一直在我的JSP得到一個錯誤的選擇"botique hotels "
選項之一:
錯誤
javax.servlet.jsp.JspTagException: javax.servlet.jsp.JspException: An error occurred while evaluating custom action attribute "test" with value "${status.value eq t}": An exception occured trying to convert String "2 star" to type "java.lang.Long" (null)
。
其中困惑我,因爲"mailListRequest.offSeason"
設置爲string
和我的選項中的值是字符串值(我PRESUME)。也許這是我格式錯誤的<option value="<c:out value="${t} star"/>
。