预编译jsp文件发生异常

时间:2009-12-24 03:05:57

标签: java jsp ant jstl

我通过jspc的ant任务预编译了一些jsp文件,但它构建失败了。

errers: info.jsp(35,2)属性前缀fn与任何导入的标记库

不对应

info.jsp第35行:

<c:if test="${fn:length(requestScope.checkDetailInfoList) gt 1}">

ant task xml:

<jasper validateXml="false" uriroot="${basedir}/WebRoot" 
            webXmlFragment="${dir.WEB-INF}/generated_web.xml" 
            outputDir="${dir.WEB-INF}/src" />

我该如何纠正?

2 个答案:

答案 0 :(得分:4)

您需要确保jsp文件导入JSTL的fn命名空间。你需要在jsp文件中看起来像这样的行:

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

此外,当jasper尝试编译时,您需要确保JSTL jar(jstl.jarstandard.jar)在您的类路径中。

答案 1 :(得分:2)

Asaph的评论很明显。

还有另外一点需要检查:&lt; fn&gt;标记集是JSTL库的后续添加。也许你有一个旧版本的jstl.jar和standard.jar需要更新。