Вопрос о пользовательской библиотеке тегов JSP - PullRequest
0 голосов
/ 04 июля 2011

У меня есть пользовательская JSP taglib, включенная в мою страницу JSP, которая говорит

<%@ taglib uri="xyz" prefix="xyz" %>

Где и как я могу узнать, где это определено точно?

А также если у меня есть заявление типа

<xyz:cssurl fileName="myCSS.css"/>

Может ли он динамически включать различные CSS и если да, то как?

Ответы [ 2 ]

1 голос
/ 04 июля 2011

URI - это просто идентификатор.Это не должен быть фактический URI.Посмотрите на ваш web.xml: он может быть определен там.Если это не так, посмотрите на все jar-файлы, используемые вашим веб-приложением, и посмотрите, содержит ли их папка META-INF файл .tld, в котором определен этот uri.

Теперь ваш второй вопросдинамически включать разные CSS и если да, то как?), я не совсем понимаю, о чем вы спрашиваете.Но так как никто, включая вас, не знает, что такое xliz taglib, трудно ответить.Как только вы нашли файл tld для этого taglib, вы должны найти описание и ожидаемые параметры этого тега.Единственное, что я могу сказать, это то, что вы, конечно, можете использовать этот тег несколько раз:

<xyz:cssurl fileName="myCSS.css"/>
<xyz:cssurl fileName="mySecondCSS.css"/>
<xyz:cssurl fileName="myThirtCSS.css"/>
0 голосов
/ 04 июля 2011

Стандартный способ определения taglib - это определение URI для taglib.Это может быть местоположение на вашем веб-сайте или на любом другом веб-сайте.Существуют сотни taglib, доступных для разных целей.Все зависит от того, в какой среде вы работаете.

Можно определить простой 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" %>

Пожалуйста, пройдите через эти Примеры , у вас будеточень хорошая идея о некоторых базовых / базовых JSTL и их использовании.

Вы, вероятно, сможете динамически добавлять CSS-файл после этого урока.:) но чтобы помочь вам, позвольте мне дать вам простое решение относительно этого.

<c:forEach var="cssURI" items="${MyURICollection}">
   <xyz:cssurl fileName="${cssURI}"/>
</c:forEach>

, где MyURICollection содержит все имена файлов CSS, которые должны динамически добавляться.

...