JSTL表达式的使用 - 极悦
首页 课程 师资 教程 报名

JSTL表达式的使用

  • 2022-05-26 10:29:16
  • 535次 极悦

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

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交