Как настроить JSF с JSP - PullRequest
       6

Как настроить JSF с JSP

2 голосов
/ 09 июля 2011

Я хочу использовать теги jsf в jsp.Как это сделать?Я настроил pom-файл с зависимостью jsf, который указан ниже

<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.0.3</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.0.3</version>
</dependency>

, и добавил следующее в web.xml

<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>*.jsp</url-pattern>
</servlet-mapping>

<context-param>
    <param-name>javax.faces.PROJECT_STAGE</param-name>
    <param-value>Development</param-value>
</context-param>

после развертывания файла war. Я получаю java.lang.NullPointerException

Ответы [ 3 ]

4 голосов
/ 11 июля 2011

Ваш FacesServlet шаблон URL неверен. Он не должен перекрывать один из JspServlet. Таким образом, JSP никогда не смогут работать (и, следовательно, JSF никогда не сможет их использовать).

Шаблон URL FacesServlet должен быть другим и уникальным. Используйте, например, *.jsf.

<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
</servlet-mapping>

Сказал, что, отдав предпочтение устаревшей JSP над ее преемниками Facelets, вы пропустите много потрясающих шаблонизирующих и составных функций, предлагаемых Facelets. Я настоятельно рекомендую пересмотреть ваш странный выбор для технологии просмотра JSF 2.0.

2 голосов
/ 09 июля 2011

Я думаю, ты хочешь поступить неправильно.JSF - это фреймворк, философия которого отличается от JSP.

Вы можете использовать JSF и JSP вместе, но все наоборот: вы настраиваете JSF для использования JSP в качестве технологии просмотра.Но вы не должны этого делать, если вы не очень хорошо понимаете, зачем вам это нужно.По умолчанию используется технология просмотра Facelets, и она гораздо лучше подходит для JSF.

1 голос
/ 06 декабря 2012

JSF - это фреймворк, а jsp - это просто файл.Да, вы также можете использовать jsp файлы в JSF-фреймворке, не используя лучший инструмент Facelets.Используя Facelets в JSF, вы можете использовать только файлы xhtml.

Если вы все еще хотите использовать файлы jsp, то вы должны использовать основные сервлеты или использовать JSF без граней.

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