用Hibernate3.5.6Final+Struts1.3.10
报java.lang.NumberFormatException: For input string: "sid"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.parseInt(Integer.java:497)
javax.el.ArrayELResolver.coerce(ArrayELResolver.java:153)
javax.el.ArrayELResolver.getValue(ArrayELResolver.java:45)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
……
1、view层
<table class="title" width="100%" border="1" cellspacing="0" cellpadding="0" align="center">
<c:choose>
<c:when test="${empty gradeList}">
没有符合条件的数据!
</c:when>
<c:otherwise>
<caption class="report_list">学生发布问题平时成绩</caption>
<tr height="20" align="center">
<td width="80px">序号</td>
<td>学号</td>
<td width="80px">姓名</td>
<td width="80px">平时成绩</td>
</tr>
<c:choose>
<c:when test="${empty gradeList}">
<tr>
<td colspan="4">没有符合条件的数据!</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach items="${gradeList}" var="g" >
<c:set var="i" value="${i+1}"/>
<tr>
<td align="center"><c:out value="${i}" /></td>
<td><c:out value="${g.sid}" /></td>
<td align="center"><c:out value="${g.author}"/></td>
<td align="center"><c:out value="${g.grade}"/></td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</table>
当把
<td><c:out value="${g.sid}" /></td>
<td align="center"><c:out value="${g.author}"/></td>
<td align="center"><c:out value="${g.grade}"/></td>
删除后,就没有报错,请问是怎么回事,急!!在线等……
报java.lang.NumberFormatException: For input string: "sid"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.parseInt(Integer.java:497)
javax.el.ArrayELResolver.coerce(ArrayELResolver.java:153)
javax.el.ArrayELResolver.getValue(ArrayELResolver.java:45)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
……
1、view层
<table class="title" width="100%" border="1" cellspacing="0" cellpadding="0" align="center">
<c:choose>
<c:when test="${empty gradeList}">
没有符合条件的数据!
</c:when>
<c:otherwise>
<caption class="report_list">学生发布问题平时成绩</caption>
<tr height="20" align="center">
<td width="80px">序号</td>
<td>学号</td>
<td width="80px">姓名</td>
<td width="80px">平时成绩</td>
</tr>
<c:choose>
<c:when test="${empty gradeList}">
<tr>
<td colspan="4">没有符合条件的数据!</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach items="${gradeList}" var="g" >
<c:set var="i" value="${i+1}"/>
<tr>
<td align="center"><c:out value="${i}" /></td>
<td><c:out value="${g.sid}" /></td>
<td align="center"><c:out value="${g.author}"/></td>
<td align="center"><c:out value="${g.grade}"/></td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>
</c:otherwise>
</c:choose>
</table>
当把
<td><c:out value="${g.sid}" /></td>
<td align="center"><c:out value="${g.author}"/></td>
<td align="center"><c:out value="${g.grade}"/></td>
删除后,就没有报错,请问是怎么回事,急!!在线等……
可能你使用的HQL查询中涉及到了多表连接。
试试看
<c:set var="g" value="${g[0]}"/>
紧放在
<td><c:out value="${g.sid}" /></td>那行代码之前
/**
* 通过HQL查询
*
* @param hql
* @return
*/
public List findByHql(String hql) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction tx = session.beginTransaction();
Query q = session.createQuery(hql);
if(q.list() == null) {
return null;
}
List list = q.list();
tx.commit();
return list;
}
<c:forEach items="${gradeList}" var="g" >
<c:set var="i" value="${i+1}"/>
<tr>
<td align="center"><c:out value="${i}" /></td>
<td><c:out value="${g[1]}" /></td>
<td align="center"><c:out value="${g[2]}"/></td>
<td align="center"><c:out value="${g[0]}"/></td>
</tr>
</c:forEach>
<c:choose>
<c:when test="${empty gradeList}">
<tr>
<td colspan="4">没有符合条件的数据!</td>
</tr>
</c:when>
<c:otherwise>
<c:forEach items="${gradeList}" var="gl" >
<c:set var="i" value="${i+1}"/>
<tr>
<td align="center"><c:out value="${i}" /></td>
<td align="center"><c:out value="${gl[0]}" /></td>
<td align="center"><c:out value="${gl[1]}"/></td>
<td align="center"><fmt:formatNumber value="${gl[2]}" pattern="#0.00"/></td>
</tr>
</c:forEach>
</c:otherwise>
</c:choose>