JSP片段中的未知标记和未定义的函数

时间:2014-06-20 10:27:52

标签: java jsp jsp-tags jsp-fragments

我在JSP中导入了一个Web项目,我相对较新。我在WEB-INF/includes/components中遇到了一些我无法解决的错误。

某些.jspf个文件显示错误,例如在该行:

<c:if test="${fn:length(view.parent.views) > 1}">

错误是:

Multiple annotations found at this line:
- The function fn:length is 
 undefined
- Unknown tag (c:if).

我也遇到The function fn:length is undefined的{​​{1}}错误错误。

我跟进了其他问题并确保fn:lengthstandard.jar包含在我的构建路径中。此外,jstl-1.2.jar具有以下内容:

WEB-INF/includes/taglibs.jspf

2 个答案:

答案 0 :(得分:2)

如果我在JSP文件的开头添加以下内容,则可以正常工作:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@ taglib prefix="nav" uri="/WEB-INF/taglibs/navigation.tld" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

现在这是一个有效的答案,但我认为最好的答案是告诉我们如何在taglibs.jspf中包含上述行,而不是在每个.jsp中包含它们。文件。

答案 1 :(得分:0)

我最近遇到了同样的问题。我添加了一个base.jspf文件,并在文件顶部引用了它:

<%@ include file="/WEB-INF/includes/base.jspf" %>

该文件包含

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