core和core_rt jstl标签之间的区别

当我将其<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>用于struts

1.3.10项目时,它将引发以下异常:

org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)

org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:311)

org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:152)

org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:410)

org.apache.jasper.compiler.Parser.parseDirective(Parser.java:475)

org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)

org.apache.jasper.compiler.Parser.parse(Parser.java:138)

org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)

org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1083)

org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:295)

org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:396)

org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:347)

org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)

org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

然后当我将其更改为

<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>

它工作正常。我想知道这两者之间有什么区别,为什么当我尝试使用它时会引发异常<%@ taglib

uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>。顺便说一句,我使用服务器apache-

tomcat-7.0.42。请帮我。

回答:

除非您使用的是非常老的JSP版本(确切地说是JSP 1.2或1.1),否则您都不应使用其中任何一个。这些是JSTL 1.0 URI,不适合现代版本的JSP。

这两个库的不同之处在于,一个库允许将运行时表达式用作标记属性值,而一个库则不允许。在现代的JSP和JSTL中,JSP引擎执行所有表达式评估,因此不再相关。

以上是 core和core_rt jstl标签之间的区别 的全部内容, 来源链接: utcz.com/qa/398330.html

回到顶部