Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse java ee jspf标记库_Eclipse_Jsp_Jakarta Ee - Fatal编程技术网

Eclipse java ee jspf标记库

Eclipse java ee jspf标记库,eclipse,jsp,jakarta-ee,Eclipse,Jsp,Jakarta Ee,我将base.jspf放在WEB-INF/jsp/文件夹中,其中包含以下内容: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <?xml version="1.0" encoding="UTF-8"?> <web-app xmln

我将base.jspf放在WEB-INF/jsp/文件夹中,其中包含以下内容:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>Address Book Application</display-name>

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspf</url-pattern>
            <page-encoding>UTF-8</page-encoding>
            <scripting-invalid>false</scripting-invalid>
            <include-prelude>/WEB-INF/jsp/base.jspf</include-prelude>
            <trim-directive-whitespaces>true</trim-directive-whitespaces>
            <default-content-type>text/html</default-content-type>
        </jsp-property-group>
    </jsp-config>
</web-app>

我还使用以下内容定义了WEB-INF/WEB.xml:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                             http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>Address Book Application</display-name>

    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspf</url-pattern>
            <page-encoding>UTF-8</page-encoding>
            <scripting-invalid>false</scripting-invalid>
            <include-prelude>/WEB-INF/jsp/base.jspf</include-prelude>
            <trim-directive-whitespaces>true</trim-directive-whitespaces>
            <default-content-type>text/html</default-content-type>
        </jsp-property-group>
    </jsp-config>
</web-app>

通讯簿应用程序
*.jsp
*.jspf
UTF-8
假的
/WEB-INF/jsp/base.jspf
真的
文本/html
但是当我在不同的jsp文件中访问taglib时,它总是给我一个错误,即它不理解c或fn。我使用EclipseLuna作为带有JavaSE8的IDE。我有办法解决这个问题吗


谢谢。

我在使用EclipseLuna时收到了相同的语法检查投诉(而且在似乎相同的情况下,也就是通过尼克·威廉姆斯(Nick Williams)的那本优秀书籍的示例进行检查)。。。没有“您这样更改Eclipse设置”的答案,我也没有一个聪明的木屐式回答,但到目前为止我使用的解决方法是:

1a-通过向语法为以下内容的任何jsp文件添加一行代码,覆盖部署描述符的jsp配置:

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

这就解决了问题。唯一的缺点是,如果您反对向可能大量的jsp文件中添加一行额外的代码。。。虽然我猜您可以用include行定义一个新的JSP模板,嗯,include:)

1b-甚至更手动的解决方法:通常快速浏览一下语法投诉,就会发现哪些内容尚未导入或包含在有问题的jsp文件中-因此,您只能从base.jspf复制相关的缺失行,在这种情况下,我将jspf本身视为一种模板存储。但可以肯定的是,对我来说,这不是一种非常优雅的工作方式


如果有比我更聪明的人有更好的解决方案,请告诉我们。上面的解决方法只是:它们使您能够解决这个问题,使您的项目代码能够正常运行。

带有这些标记的jar在哪里?您到底收到了什么错误消息?它与pom.xml文件一起出现,错误消息是另一个.jsp文件上的“函数fn:length未定义”。谢谢您的回答。最后我也做了同样的事情,但我认为在部署描述符中只声明一次,将其作为每个jsp文件的头,这是不符合目的的。是的,就像你说的那样,这些解决方法确实有点违背了目的。如果我偶然发现一个合适的解决方案,我也会提供。。。我认为这可能与需要将Maven依赖项JAR复制到Apache的库中有关。。。但这只是一个猜测。在这次讨论中发现了一个更好的解决方法:用户Abel ANEIROS说:首选项>验证>JSP内容验证程序(取消选中手动和构建)首选项>验证>JSP语法验证程序(取消选中手动和构建)“因为实际上Tomcat构建工作正常,尽管有语法方面的抱怨,但在我看来,这似乎是正常的。。。虽然有时我可能想切换这些验证设置,以捕获“真正”的错误。