我将我的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" %>我还定义了WEB-INF/web.xml,内容如下:
<?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文件中访问taglib时,它总是给我错误,它既不能理解c也不能理解fn。我正在使用Eclipse的集成开发环境和JavaSE8,有什么办法可以解决这个问题吗?
谢谢。
发布于 2014-07-27 04:44:58
我在使用Eclipse时收到了同样的语法检查投诉(似乎也是在同样的情况下,比如研究了尼克·威廉姆斯的那本优秀书籍的例子)……我没有一个"you change the Eclipse settings thus“的-answer,我也没有一个巧妙的回答,但是到目前为止我使用的变通方法是:
1a -通过向任何语法错误的jsp文件添加一行代码来覆盖部署描述符的jsp-config:
<%@ include file="/WEB-INF/jsp/base.jspf" %>这就解决了问题。唯一的缺点是,如果您反对向潜在的大量jsp文件中添加额外的一行代码……虽然我猜您可以使用include行定义一个新的JSP模板,uhh,include :)
1b -更多的手动解决方法:通常快速浏览一下语法-投诉会显示哪些内容尚未导入或包含到有问题的jsp文件中-因此您只从base.jspf中复制相关缺少的行,在本例中,我将jspf本身视为一种模板存储。但可以肯定的是,对于我来说,这不是一个非常优雅的工作方式。
如果有比我更有见识的人有更好的解决方案,请多多指教。上面的解决方法只是:它们使您能够解决问题,使您的项目代码正常运行。
https://stackoverflow.com/questions/24947879
复制相似问题