在练习JSTL核心库标签的时候老是出错,大侠们帮忙看下:
说下代码意思:我在Action.JAVA里传了一个userlist(request.setAttribute("userlist", userList);)到JSP中;里面有10个user object.
下面就是JSP:(主要代码)实现功能:表单数据能隔行能以不同颜色显示 <table border="1">
<c:forEach var="use" items="${userlist}" varStatus="vs">
<c:choose>
<c:when test="${empty userlist}">
<tr><td colspan="3">没有符合要求的数据</td></tr>
</c:when>
<c:otherwise>
<c:when test="${vs.count % 2 == 0}">
<tr bgcolor="red">
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
</table>浏览器报错:
org.apache.jasper.JasperException: Exception in JSP: /jstl_core.jsp:8178: <tr><td colspan="3">没有符合要求的数据</td></tr>
79: </c:when>
80: <c:otherwise>
81: <c:when test="${vs.count % 2 == 0}">
82: <tr bgcolor="red">
83: <td>${use.name }</td>
84: <td>${use.age }</td>起 因 javax.servlet.ServletException: Illegal use of <when>-style tag without <choose> as its direct parent
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.jstl_005fcore_jsp._jspService(jstl_005fcore_jsp.java:226)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)服务器:tomcat
报错信息和上面一样。
服务器重启过也不行
说下代码意思:我在Action.JAVA里传了一个userlist(request.setAttribute("userlist", userList);)到JSP中;里面有10个user object.
下面就是JSP:(主要代码)实现功能:表单数据能隔行能以不同颜色显示 <table border="1">
<c:forEach var="use" items="${userlist}" varStatus="vs">
<c:choose>
<c:when test="${empty userlist}">
<tr><td colspan="3">没有符合要求的数据</td></tr>
</c:when>
<c:otherwise>
<c:when test="${vs.count % 2 == 0}">
<tr bgcolor="red">
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:otherwise>
</c:otherwise>
</c:choose>
</c:forEach>
</table>浏览器报错:
org.apache.jasper.JasperException: Exception in JSP: /jstl_core.jsp:8178: <tr><td colspan="3">没有符合要求的数据</td></tr>
79: </c:when>
80: <c:otherwise>
81: <c:when test="${vs.count % 2 == 0}">
82: <tr bgcolor="red">
83: <td>${use.name }</td>
84: <td>${use.age }</td>起 因 javax.servlet.ServletException: Illegal use of <when>-style tag without <choose> as its direct parent
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.jstl_005fcore_jsp._jspService(jstl_005fcore_jsp.java:226)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)服务器:tomcat
报错信息和上面一样。
服务器重启过也不行
<tr bgcolor="red">
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:when>
这个外面还必须有<c:choose>
<c:when test="${vs.count % 2 == 0}">
<tr bgcolor="red">
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:when>
<c:otherwise>
<tr>
<td>${use.name }</td>
<td>${use.age }</td>
<td>${use.group.name }</td>
</tr>
</c:otherwise>
struts2的<s:iterator >标签吧!~~~~~~~