Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hello JSF, Ошибка синтаксического анализа XML 
:(
    Опции темы
KasDmi
Дата 17.12.2009, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.1.2009
Где: Обнинск, Россия

Репутация: нет
Всего: нет



Всем привет! Решил освоиться в JSF, написал маленькое приложенице.

web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         version="2.5">

    <display-name>Hello JSF</display-name>

    <context-param>
        <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
        <param-value>.jspx</param-value>
    </context-param>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>
            javax.faces.webapp.FacesServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    
    <listener>
        <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
    </listener>
</web-app>


faces-config.xml
Код

<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
              version="1.2">
  
</faces-config>


index.jspx
Код

<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html">
    <f:view>
        <ui:composition>
            <ui:define name="body">
                <h:outputText value="Hello, JSF!"/>
            </ui:define>
        </ui:composition>
    </f:view>
</jsp:root>
]

Диплою приложение с помощью идеи в томкат 6, в браузере ввожу http://localhost:8080/hello/index.jsf и в итоге открывается страничка, на которой написано:

Ошибка синтаксического анализа XML: префикс не связан c пространством имён
Адрес: http://localhost:8080/hello/index.jsf
Строка 1, символ 1:<ui:composition><ui:define name="body">Hello, JSF!</ui:define></ui:composition>
^

Подскажите пожалуйста в чём проблема. Ничего подобного не могу найти. Использую ubuntu 9.10, tomcat 6.0.20. Заранее спасибо!
PM MAIL   Вверх
Vasay
Дата 17.12.2009, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



KasDmi

Вроде, Tomcat 6 без дополнительных либ Jsf не поддерживает. 

http://izenfire.blogspot.com/2009/01/jsf-tomcat.html

Это сообщение отредактировал(а) Vasay - 17.12.2009, 01:22


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
KasDmi
Дата 17.12.2009, 01:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.1.2009
Где: Обнинск, Россия

Репутация: нет
Всего: нет



Vasay, эти либы у меня диплоются вместе с приложением. Если их перекинуть в CATALINA_HOME/lib, то ничего не меняется - в браузере отображается таже ошибка.
PM MAIL   Вверх
Vasay
Дата 17.12.2009, 02:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



KasDmi

Цитата

Ошибка синтаксического анализа XML: префикс не связан c пространством имён
Адрес: http://localhost:8080/hello/index.jsf
Строка 1, символ 1:<ui:composition><ui:define name="body">Hello, JSF!</ui:define></ui:composition>


Ругается на теги facelets

Либы facelets подключены?

в  faces-config.xml, вроде, должен быть facelets упомянут:
Код

<application>
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
</application> 



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
KasDmi
Дата 17.12.2009, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.1.2009
Где: Обнинск, Россия

Репутация: нет
Всего: нет



Vasay, добавил хендлер в faces-config как ты написал, ошибка исчезла. Теперь отображается чистая страница. Если закоментить все ui теги, то на страничке появляется "Hello, JSF!" Не хватает какой-то библиотеки.
У меня сейчас подключены: jsf-api.jar, jsf-facelets.jar, jsf-impl.jar, jstl.jar

Это сообщение отредактировал(а) KasDmi - 17.12.2009, 12:02
PM MAIL   Вверх
KasDmi
Дата 17.12.2009, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.1.2009
Где: Обнинск, Россия

Репутация: нет
Всего: нет



Цитата(KasDmi @ 17.12.2009,  11:58)
Если закоментить все ui теги, то на страничке появляется "Hello, JSF!"

Прочитал, разобрался! smile Теги ui используются вместе с шаблоном, если шаблона нет, то можно без них.
Vasay, спасибо за помощь! smile 
PM MAIL   Вверх
KasDmi
Дата 18.12.2009, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 21.1.2009
Где: Обнинск, Россия

Репутация: нет
Всего: нет



Появился еще небольшой вопросик. Вот, например, у меня в WEB-INF лежит index.jsp, там же лежит папка pages в которой лежат страницы jspx. Я запускаю приложение и попадаю на index.jsp, от туда редиректом перехожу на страницу /pages/main.jspx (главная страница), урл у меня в данный момент http://localhost:8080/hello/. Потом я перехожу при нажатии кнопки на какую-то другую страницу, допустим /pages/second.jspx и урл у меня получается уже таким http://localhost:8080/hello/pages/second.jsf. И вот собственно вопрос, как убрать выделенную часть урла (pages/)? И можно ли index.jsp использовать в качестве редиректа в папку /pages или так делать нельзя?
PM MAIL   Вверх
powerOn
Дата 18.12.2009, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Модератор: KasDmi, один топик - один вопрос.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1113 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.