我的JSP页面中包含一个自定义的JSP taglib,其中包含
<%@ taglib uri="xyz" prefix="xyz" %>
我在哪里以及如何找到确切定义的位置?
如果我有一个像
这样的陈述<xyz:cssurl fileName="myCSS.css"/>
它是否可以动态包含不同的CSS,如果是,可以如何?
答案 0 :(得分:1)
uri只是一个标识符。它不必是实际的URI。查看您的web.xml:它可能在那里定义。如果不是,请查看您的Web应用程序使用的所有jar文件,并查看其META-INF文件夹是否包含定义此uri的.tld文件。
现在针对你的第二个问题(它可以动态地包含不同的CSS,如果是,如何?),我不明白你究竟在问什么。但是,由于没有人包括你自己知道xyz taglib是什么,所以很难回答。找到此taglib的tld文件后,您应该找到此标记的描述和预期参数。我唯一可以说的是你当然可以多次使用这个标签:
<xyz:cssurl fileName="myCSS.css"/>
<xyz:cssurl fileName="mySecondCSS.css"/>
<xyz:cssurl fileName="myThirtCSS.css"/>
答案 1 :(得分:0)
定义taglib的标准方法是定义taglib的URI。它可能是您网站或任何其他网站上的位置。有数百种taglib可用于不同目的。这一切都取决于你正在做什么环境。
可以定义位于localhost的简单taglib。 http://localhost:8080/taglib.tld
<% @ taglib uri="/taglib.tld" prefix="helloWorld" %>
现在,您可以在prefix
helloWorld
中使用此标记。
<html><body>
<helloWorld:image />
</body></html>
有一个常见的核心JSTL在JSP中非常常见,它以c为前缀。
这个库有很多例子。
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
请仔细阅读这些Examples,您将对一些基本/核心JSTL及其用法有一个很好的了解。
在本教程之后,您可能会动态添加CSS文件。 :)但是为了帮助你,让我给你一个简单的解决方案。
<c:forEach var="cssURI" items="${MyURICollection}">
<xyz:cssurl fileName="${cssURI}"/>
</c:forEach>
其中MyURICollection
包含要动态添加的所有CSS文件名。