我正在尝试使用spring JPetStore的示例,但是在引用lib标签spring的行中的JSP页面中出现错误:
无法找到“http://www.springframework.org/tags”的标记库描述符
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
这个图书馆的网址是什么?
有没有办法避免直接依赖此网址?
提前致谢
答案 0 :(得分:17)
我知道这是一个老问题,但标记库http://www.springframework.org/tags
由spring-webmvc
包提供。使用Maven,可以将其添加到项目中,并在pom.xml
<properties>
<spring.version>3.0.6.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
没有Maven,只需将jar添加到类路径中即可。在任何情况下,都没有必要直接引用tld文件,它会自动找到。
答案 1 :(得分:13)
然后打开web.xml,示例代码为:
<taglib>
<taglib-uri>/WEB-INF/spring.tld</taglib-uri>
<taglib-location>/WEB-INF/spring.tld</taglib-location>
</taglib>
然后指示taglib在jar文件中的位置。
<%@ taglib prefix="spring" uri="/WEB-INF/spring.tld" %>
答案 2 :(得分:12)
删除 @ 和 taglib 之间的空间对我来说很有用:<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
答案 3 :(得分:10)
如果您正在使用maven,请使用此依赖项:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.1.4.RELEASE</version>
</dependency>
答案 4 :(得分:3)
TLD应位于spring.jar
。您的应用程序不会依赖该URL。它仅用作标识标记库的唯一名称。他们也可以制作URI“/ spring-tags”,但使用URL非常常见。
答案 5 :(得分:3)
你必须为spring mvc
添加依赖项托盘在你的pom中添加
<!-- mvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
答案 6 :(得分:1)
我最终将RAD配置为构建基于Maven的项目,但在导航到使用Spring标记库的页面时遇到以下异常:
JSPG0047E:无法找到uri的标记库 http://www.springframework.org/tags at com.ibm.ws.jsp.translator.visitor.tagfiledep.TagFileDependencyVisitor.visitCustomTagStart(TagFileDependencyVisitor.java:76) ...
我配置EAR的方式,所有的jar都在EAR中,而不是在WAR的WEB-INF / lib中。根据JSP 2.0规范,我相信在WEB-INF的所有子目录中都会搜索标记库,因此存在问题。我的解决方案是复制tld文件并放在WEB-INF / lib或WEB-INF下。然后就可以了。
答案 7 :(得分:1)
如果您想要直接链接:
或者来自回购:
JCenter :link
Maven Central :link
如果你需要Gradle依赖:
compile'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
答案 8 :(得分:0)
这是另一种情况。
我们在不同的portlet应用程序战中有几个portlet,所有这些都使用spring。因此,为了减少每次战争的规模,我们在WebSphere Portal服务器中为spring jar创建了共享库。
但是,我遇到了与上面没有从jsp文件中引用spring form标签相同的问题。
为了解决这个问题,我已经将spring-form.tld文件复制到了WEB-INF /目录中并重新部署了战争并且运行良好。
希望对与我有类似问题的人有所帮助。
答案 9 :(得分:0)
从Internet上复制粘贴标记lib URL时,通常会出现此问题。通常,嵌入了URL http://www.springframework.org/tags的引号""
可能不正确。尝试删除引号并手动键入它们。这解决了我的问题。
答案 10 :(得分:0)
我使用的是Spring-Boot,对于我在Pom.xml下面的剪贴工作。可能是文件未同步。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
答案 11 :(得分:0)
标记库的核心依赖性:
> <dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
答案 12 :(得分:0)
通过右键单击配置构建路径->构建路径下的JRE系统库,将jstl-standard.jar的外部jar添加为外部jar。 它对我有用!