错误使用JSTL XML标签库属性xml不接受任何表情
题
我得到的以下错误时,我尝试使用JSTL XML标签库:
/server-side-transform.jsp(51,0)
According to TLD or attribute directive in tag file,
attribute xml does not accept any expressions
我找到顶级域等,但是如果有人知道什么这是一个可以救我一些时间,它会赞赏!
如果有帮助,我得到这个错误的运行实例码
<c:set var="xml">
<paragraph>
This document uses <bold>unusual</bold> markup,
which we want to replace with <bold>HTML</bold>.
</paragraph>
</c:set>
<c:set var="xsl">
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="paragraph">
<p><xsl:apply-templates/></p>
</xsl:template>
<xsl:template match="bold">
<b><xsl:value-of select="."/></b>
</xsl:template>
</xsl:stylesheet>
</c:set>
<x:transform xml="${xml}" xslt="${xsl}"/>
在我的/服务器的端-变换。jsp-我的标签库的指令是:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>
和我有standard.jar 和jstl.jar 在/WEB-INF/lib.
解决方案
您的代码拿起X-1_0.tld的“不正确”版本,可能是由于类路径的问题。我看到例如在我的当前classpath,我有X-1_0.tld的一个版本,它允许运行时表达式$ {}语法在这个标签和一个不。在standard.jar所述一个不允许EL表达式,而一个我在码头一样。
其他提示
我发现,Sun文档指URI作为
http://java.sun.com/jsp/jstl/xml
在标签现在被正确调用,所以这是问题的原因;但是我得到一个NullPointerException在doEndTag()... HO哼声
不完全是,你应该使用
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
使用JSTL1.1.
不幸的是的standard.jar 文件中包括的许多版本*.顶级域名的标签。
- c-1_0-rt。顶级域名
- c-1_0.顶级域名
- c.顶级域名
- fmt-1_0-rt。顶级域名
- fmt-1_0.顶级域名
- fmt。顶级域名
- fn。顶级域名
- permittedTaglibs.顶级域名
- 无脚本.顶级域名
- sql-1_0-rt。顶级域名
- sql-1_0.顶级域名
- sql。顶级域名
- x-1_0-rt。顶级域名
- x-1_0.顶级域名
- x.顶级域名
因此,通过使用
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
你告诉jsp具体使用JSTL1.1其顺便说一句修复上述问题,如果这不起作用,尝试使用
<%@ page isELIgnored="false" %>
这基本上告诉jsp评估EL。
/srm
使用以下代码:
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
代替:
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
我意识到这个问题,有人问相当长一段时间前,但我只是碰到了同样的问题。在我的情况下,示例性我下面的有向我使用:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
当我应该已经使用:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
余物在用于同时将溶液盯着之前额外的 JSP 强>在URI我弹出。
改变 <%@标签库prefix="c"uri="http://java.sun.com/jstl/core"%>是不适合我。我的项目(网络应用程序version="3.0")IDE(MyEclipse) 我看到的配置文件x。顶级域名。那是假的选择不允许选择的外观${}或 <%=%>.所以我得到了一种方法来作弊的web.xml.
<jsp-config> <taglib> <taglib-uri>/huang</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> </jsp-config>
增加来web.xml宣布新的标签库-url名称为"黄"我jsp文件是这样的:
<%@ taglib prefix="x" uri="/huang" %>
使用
<x:out select="$casexml//案例//${node.name }" />
我可以得到正确结果