java - 自定义标签不计算表达式; c 和 fmt 标签正在评估表达式

标签 java jsp el

我有一个 .jsp 页面,开头为

<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/mytags.tld" prefix="mytags" %>

mytags.tld 的 header 包含以下内容:

<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>

核心标签支持表达式,因此当我执行如下操作时:

<c:out value="${myPageBean.firstName}"/>

表达式按预期计算。

但是,当我尝试让自定义标记计算表达式时,.jsp 拒绝编译。

<mytags:sayHello firstName="${myPageBean.firstName}"/>

如果表达式在页面上的任何地方都不起作用,我可以更轻松地解决这个问题,但是核心标签的行为符合预期,而我的自定义标签却没有,这是否有意义?我正在使用 Tomcat 4.1

最佳答案

由于您使用的是 Tomcat 4.1,因此您拥有 JSP 1.2。 EL 支持是在 2.0 版本中引入到 JSP 规范中的,因此您没有它。因此,JSTL 1.0 使用自己的表达式语言实现,可通过 ExpressionUtil 访问。 .

关于java - 自定义标签不计算表达式; c 和 fmt 标签正在评估表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3789034/

相关文章:

java - 使用 JSTL 和 EL 格式化日期并显示它

java - 如何分析 Maven pom.xml 的错误(用于冗余或忽略属性的 pom linter?)

java - 如何在 Java 中对返回 boolean 值的两个并行线程执行短路评估?

JSP包括: templating with jsp's so repeated code is included on every page

java - 强制 Tomcat 3.3 编译器将 JSP 编译为 Java 1.5

java - javax.el API 中的变量

xpages - 表达式语言等效于 getComponent()

java - Android-Java RSA解密

java - 如何使用 jax-rs 将 bean 结构映射到不同的模式

json - 在jsp中访问JSONObject