找不到springframework的标签库描述符

我试图遵循spring JPetStore的例子,但是在引用lib标签spring的行中的JSP页面中出现错误:

找不到“http://www.springframework.org/tags”的标记库描述符

 

这个库的URL是什么?

有没有办法避免直接依赖这个URL?

提前致谢

  1. 下载Spring依赖jar
  2. 将它放在lib文件夹路径是/WEB-INF/lib/spring.jar
  3. 然后打开web.xml,示例代码为:

      /WEB-INF/spring.tld /WEB-INF/spring.tld  
  4. 然后指示jar文件位于ur系统中的taglib。

     <%@ taglib prefix="spring" uri="/WEB-INF/spring.tld" %> 

我知道这是一个老问题,但标签库http://www.springframework.org/tagsspring-webmvc包提供。 使用Maven,可以将其添加到项目中,并在pom.xml添加以下行

  3.0.6.RELEASE    org.springframework spring-webmvc ${spring.version}  

没有Maven,只需将jar添加到类路径中即可。 在任何情况下都没有必要直接引用tld文件,它将被自动找到。

删除@taglib之间的空间对我来说<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %><%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

如果您使用maven使用此依赖项:

  org.springframework.security spring-security-taglibs 3.1.4.RELEASE  

TLD应位于spring.jar 。 您的应用程序不会依赖该URL。 它仅用作标识标记库的唯一名称。 他们也可以制作URI“/ spring-tags”,但使用URL是非常常见的地方。

你必须添加spring mvc的依赖项

托盘在你的pom中添加它

   org.springframework spring-webmvc 3.1.2.RELEASE  

我从weblogic 12c和maven遇到了同样的问题我最初从eclipse(kepler)部署时(从控制台部署没有出错)。

此页面上给出的其他解决方案没有帮助。

我在war模块的web \ WEB-INF文件夹中提取了spring-webmvc jar(我在我的存储库中找到)的spring.tld spring-form.tld文件;

我做了一个新的构建; 部署(从eclipse)到weblogic 12c,测试应用程序,错误消失了;

我删除了spring.tld spring-form.tld文件并删除后删除了; 重建和重新部署应用程序错误未再次出现。

我仔细检查了文件是否在战争中消失了,而且确实没有。

希望这有助于其他类似的问题……

我最终配置RAD来构建我的基于Maven的项目,但是当我导航到使用Spring taglib的页面时,我得到以下exception:

JSPG0047E:无法在com.ibm.ws.jsp.translator.visitor.tagfiledep.TagFileDependencyVisitor.visitCustomTagStart(TagFileDependencyVisitor.java:76)中查找uri http://www.springframework.org/tags的标记库

我配置EAR的方式,所有的jar都在EAR中,而不是在WAR的WEB-INF / lib中。 根据JSP 2.0规范,我相信在WEB-INF的所有子目录中都会搜索标记库,因此存在问题。 我的解决方案是复制tld文件并放在WEB-INF / lib或WEB-INF下。然后它工作了。

如果你想直接链接:

https://github.com/spring-projects/spring-framework/blob/master/spring-webmvc/src/main/resources/META-INF/spring-form.tld

或者来自回购:

JCenter : 链接

Maven Central : 链接

如果你需要Gradle依赖:

编译’org.springframework:spring-webmvc:4.1.6.RELEASE

有关spring-form的更多信息: http : //docs.spring.io/spring/docs/current/spring-framework-reference/html/spring-form.tld.html

这是另一个案例。

我们在不同的portlet应用程序战中有几个portlet,它们都使用spring。 因此,为了减少每次战争的规模,我们在WebSphere Portal服务器中为spring jar创建了共享库。

但是,我遇到了与上面没有从jsp文件引用spring form标签相同的问题。

为了解决这个问题,我已经将spring-form.tld文件复制到了WEB-INF /目录中并重新部署了战争并且工作正常。

希望它对任何有类似问题的人都有帮助。

从Internet上复制粘贴标记lib URL时,通常会出现此问题。 通常,嵌入URL http://www.springframework.org/tags的引号""可能不正确。 尝试删除引号并手动键入它们。 这解决了我的问题。

我使用的是Spring-Boot,对于我在Pom.xml下面的剪贴工作。 可能是文件未同步。

  org.springframework.boot spring-boot-starter-web