如果您想在您的 JSTL S W中使用EL表达式语言 ,您应该使用 JSTL 1.1 核心库标签(或更高版本),这可以在您的 jsp W中指定,如下面的 taglib 指令示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib 前缀="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib 前缀="x" uri="http://java.sun.com/jsp/jstl/xml" %>
请注意,1.1核心库标签在 uri 中有 /jsp/。如果您使用 1.0 核心库标记,请注意 uri 中没有 /jsp/。
下面是一个将表达式语言与 JSTL 1.1 核心库标签一起使用的示例。
<c:set var="testing" value="blah"/>
<c:out value="${testing}"/>
计算表达式,并显示结果:
接下来,我将展示如果您尝试将表达式语言与 JSTL 1.0 核心库标签一起使用会发生什么。
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib 前缀="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ taglib 前缀="sql" uri="http://java.sun.com/jstl/sql" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
使用 JSTL 1.0 核心库标签,如果您尝试使用表达式语言,如下例所示(在 c:out 中):
<c:set var="testing" value="blah"/>
<c:out value="${testing}"/>
您将收到一条错误消息,如下所示:
org.apache.jasper.JasperException: /jstl-test.jsp(7,0) 根据标签文件中的 TLD 或属性指令,
属性值不接受任何表达式
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
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)
因此,如果您想在 JSTL 标记中使用表达式语言,请使用 JSTL 1.1 核心库标记(或更高版本)。
通过上述介绍,相信大家对JSTL表达式的使用已经有所了解,大家如果想了解更多相关知识,不妨来关注一下极悦的JSTL标签库,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习