今天在学习SSH的时候,出现了一个问题,找了很久才找出问题所在,在这里分享分享给大家!
很明显,上面的错误出现在我的jsp页面的第27行,下面给出我jsp也难代码org.apache.jasper.JasperException: /index.jsp(27,5) According to TLD or attribute directive in tag file, attribute items does not accept any expressions org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1210) org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:847) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1530) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417) org.apache.jasper.compiler.Node$Root.accept(Node.java:495) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361) org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1782) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 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:617) javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
25 <body>
26 <table border="1">
27 <c:forEach var="u" items="${list}">
28 <tr>
29 <td>${u.id }</td>
30 <td>${u.name }</td>
31 <td>${u.pwd }</td>
32 </tr>
33 </c:forEach>
34 </table>
34 </body>
看看,我27行的代码其实很简单,我用了个c标签,然后用了EL表达式;可问题就出在EL表达式这里,查了很多资料都是说版本不兼容的问题;
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
换成了<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>,然后问题就解决了!
如果你的也出现了这样的异常,那么可能是版本问题,只需要修改一下就OK了;如果文章解决你的问题,请留言告诉作者!如果你有更好的解决方式,也请留言告诉作者,我们相互交流交流!谢谢!