2013-08-30 4 views
2

Извините, что задал этот вопрос, и это может быть дубликат других аналогичных потоков в переполнении стека. То же самое подобное thready не работает в моей ситуации.JSF 2.x + Spring 3.2 Интеграция?

Я имею вполне достаточно знаний в весной 3.2 и завершил один небольшой проект в весной.

Теперь я новичок в JSF и я некоторые создал основной JSF пример .Я хотел бы использовать JSF функции и ее components для моего нового Spring + JSF проекта.

Ссылки, я вышел на JSF + Spring Integration приведены ниже,

http://papweb.wordpress.com/2011/07/29/spring-mvc-3-jsf-2-with-maven-2-and-tomcat/

http://blog.terrencemiao.com/archives/spring-3-shacks-up-jsf-2-the-maverick-way

ресурсы, которые я нашел, не помог мне, и это было очень старый сообщение.

Может ли один предоставить мне пример интеграции для JSF 2.X + Spring 3.x MVC с контроллером и видом распознаватель и это помогло бы много пользователей, которые действительно ищут для рабочего один ..

Надеюсь, что наши пользователи стека помогут мне.

ответ

5

Прежде всего: вы не должны использовать JSF и Spring MVC вместе, так как они конкурируют друг с другом! (Это мое мнение!)

Взгляните на эти ссылки:

+0

Благодарим за быстрый ответ. Могу ли я узнать, почему я не должен использовать его вместе? –

+0

они конкурируют друг с другом в некоторых точках –

+0

Можно ли интегрировать оба или нет? любые другие альтернативы? –

6

На мой взгляд, Spring и JSF - оба могут быть использованы только отлично. Это, конечно, в основном зависит от ваших требований и предпочтений использования этих фреймворков.

Весна - это очень хорошие способы transactions management, dependency injection, security и многие другие функции, однако - простой JSF не обеспечивает такого рода особенностей из коробки, но JSF имеет очень хороший способ рендеринга видов. Таким образом, эти функции из обеих фреймворков, смешанных друг с другом, могут привести к простоте.JSF имеет разнообразие это рамки, которые построены на нем, как:

На мой взгляд, вы могли бы упростить разработку взглядов, если у вас использовали JSF. JSF имеет ManagedBean (ы), который в зависимости от вашей конфигурации обслуживает ваши запросы, например Контроллеры весны.

Фактическая конфигурация довольно проста. Вы должны иметь:

faces-config.xml файл, который содержит SpringBeanFacesELResolver:

<?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_2_0.xsd" 
       version="2.0"> 

    <application> 
     <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> 
    </application> 

    <navigation-rule> 
     <!-- your rules here --> 
    </navigation-rule> 

</faces-config> 

Spring applicationCotext.xml файл. Обычный весенний конфиг, ничего JSF специфический.

Ваш web.xml, который должен выглядеть примерно так:

<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_3_0.xsd" 
     version="3.0"> 

    <!-- other config --> 

    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>WEB-INF/applicationContext.xml</param-value> 
    </context-param> 

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

    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
    <listener> 
     <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> 
    </listener> 

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

    <!-- other of config --> 

</web-app> 

Самая красивая крутая вещь в JSF является View Scope, которые будут потеряны по умолчанию, если вы использовали JSF с Spring, но, безусловно, вы дону Не хочу терять его. This объясняет, как сделать View Scope работы в JSF и Spring интеграции.

Если я буду создавать какое-то приложение с нуля, я бы выбрал эти два фреймворка и объединил их вместе, но это только мое мнение. Надеюсь, это облегчит вам кое-что.

+0

Спасибо за ответ. Но как я могу получить значение на странице просмотра 'JSF', которую я уже установил ** model.addAttribute (« some », someObject); ** в' spring'-контроллере. –

+0

Вам больше не нужно использовать весеннюю модель, вам нужно использовать JSF ManagedBeans. Ditch Spring MVC из вашего приложения, используйте JSF для уровня контроллера и пружины для управления транзакциями, инъекции зависимостей и т. Д. –

Смежные вопросы