Как я могу получить видимую библиотеку тегов http://www.springframework.org/tags"? - PullRequest
1 голос
/ 22 августа 2011

Я использую JSF 2.0, Maven 2, Springframework 3 и Glassfish 3. Я пытаюсь использовать FixedThemeResolver, но не могу вставить тег в лицевую сторону. Я написал такую ​​страницу:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:em="http://java.sun.com/jsf/composite/emcomp"
    xmlns:st="http://www.springframework.org/tags">
<head>
    <link href="${facesContext.externalContext.requestContextPath}/files/basic.css" rel="stylesheet" type="text/css" media="all"/>
    <title><ui:insert name="title">Default Title</ui:insert></title>
</head>
<body>
    <h1><ui:insert name="heading">Default heading</ui:insert></h1>
    <p><st:theme code='css' /></p>
    <em:komponenta textik="Experimental component"/>
    <ui:insert name="content" />
    <hr/>
    <i>${appVersion}</i>
    <ui:include src="/WEB-INF/templates/footer.xhtml" />
</body>
</html>

Это не работает. В Eclipse я получаю предупреждение о том, что нет библиотеки тегов для пространства имен http://www.springframework.org/tags. В веб-браузере я получаю Предупреждение: эта страница вызывает пространство имен XML http://www.springframework.org/tags, объявленное с префиксом st, но для этого пространства имен не существует библиотеки тегов.

Я объявил зависимость от Spring MVC в моем pom.xml:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>3.0.5.RELEASE</version>
</dependency>

Это должно быть достаточно, но, похоже, это не так. Большое спасибо за любую подсказку.

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Я решил эту проблему самостоятельно. BalusC прав. Spring я могу использовать только с JSP. Facelet - это что-то еще (и, к сожалению, новое). Это работает по-другому. Таким образом, я не могу использовать теги JSP внутри фейслета. Тем не менее, в этом простом случае я написал свой собственный тег за несколько минут. Нужно только выбрать значение из текстового файла, хранящегося в classpath, и поместить его в исходящий HTML.

Также правильный ответ: это не ошибка, это особенность. Вы не можете использовать теги JSP внутри лицевой стороны.

1 голос
/ 23 октября 2011

В вашем pom.xml есть репозиторий Spring Maven?

id - это "spring-maven-release", имя - "Spring Maven Release Repository", а URL-адрес - "http://maven.springframework.org/release"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...