专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 JSTL表达式的使用

JSTL表达式的使用

更新时间:2022-05-26 10:29:16 来源:赢咖4 浏览411次

如果您想在您的 JSTL S W中使用EL表达式语言 ,您应该使用 JSTL 1.1 核心库标签(或更高版本),这可以在您的 jsp W中指定,如下面的 taglib 指令示例:

1.1核心库标签示例(表达式语言)

<%@ 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 核心库标签一起使用会发生什么。

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表达式的使用已经有所了解,大家如果想了解更多相关知识,不妨来关注一下赢咖4的JSTL标签库,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>