Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Что вместо SimpleFormController?


Автор: Dreamtraveler 5.1.2010, 20:05
Здравствуйте.
Дело было так:
Исползовал спринг версии 2.5 и его класс SimplFormController. Теперь вышла версия 3.0 и в ней этот класс 
стал depricated. 
Хотелось бы узнать какой класс вместо него использовать теперь, от кого наследоваться лучше?
Чтоб примерно таже функциональность была. )

Автор: garbuz 5.1.2010, 21:11
Сам с третьим спрингом еще не работал, но подозреваю что теперь там не надо наследоваться и имплементиться. Всем рулят аннотации.

Автор: Dreamtraveler 6.1.2010, 09:55
Неужели все так круто изменилось?
придеться документацию читать...
Блин только что нибуть изучишь, бум все устарело ))).

Автор: Dreamtraveler 6.1.2010, 13:20
А подскажите, еще такое. Как объявить два резольвера. Так чтобы они обрабатывали разные запросы. Например один обрабатывает xhtml а аторой jsp.
я делал так: 

<bean id="viewResolverOne" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.JstlView</value>
        </property>
        <property name="order" value="1"/>
        <property name="prefix">
            <value>/</value>
        </property>
        <property name="suffix">
            <!--<value>.jsp</value>-->
            <value>.xhtml</value>
        </property>
</bean>

<bean id="viewResolverTwo" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass">
            <value>org.springframework.web.servlet.view.JstlView</value>
        </property>
        <property name="order" value="2"/>
        <property name="prefix">
            <value>/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>       
        </property>
</bean>

не получается.

Автор: garbuz 6.1.2010, 14:31
Цитата(Dreamtraveler @  6.1.2010,  13:20 Найти цитируемый пост)
А подскажите, еще такое. Как объявить два резольвера. Так чтобы они обрабатывали разные запросы. Например один обрабатывает xhtml а аторой jsp.
я делал так: 

Насколько я помню, InternalResourceViewResolver выполняется последним и должен быть последним, первый всегда срабатывает, до второго даже не доходит.

Автор: magicfly 6.1.2010, 19:59
Насколько я понимаю вопрос был в другом. Резолвер не занимается обработкой запроса. Он лишь составляет ответ на запрос. Кто чем будет выполнятся зависит от меппинга. Кстати проперти order определяет в какой последовательности будут вызываться резолверы. И лишь если в одном не нашел то будет вызывается другой.
Вроде так, поправьте насчет резолверов если я не прав 

Автор: garbuz 6.1.2010, 20:38
Грубо говоря резолвер нужен для того, чтобы контроллер смог передать модель данных той или иной вью, за поиск которой и отвечает резолвер. Проперти order действительно определяет порядок, однако в случает с InternalResourceViewResolver это не работает.

Цитата

Spring supports more than just one view resolver. This allows you to chain resolvers and, for example, override specific views in certain circumstances. Chaining view resolvers is pretty straightforward - just add more than one resolver to your application context and, if necessary, set the order property to specify an order. Remember, the higher the order property, the later the view resolver will be positioned in the chain.

In the following example, the chain of view resolvers consists of two resolvers, a InternalResourceViewResolver (which is always automatically positioned as the last resolver in the chain) and an XmlViewResolver for specifying Excel views (which are not supported by the InternalResourceViewResolver):

Автор: Dreamtraveler 8.1.2010, 13:31
Ага с резольверами разобрался. 
Читаю документацию на Spring 3.0. 
Раньше я от SimpleFormController расширялся и все вызывалось "само", и валидация и initBinder. А вот теперь что получается мне при помощи аннотаций самому все вызывать? Я имею ввиду, что в SimpleFormController все по определенному сценарию вызывалось GET, POST и т.д. А теперь разработчики Spring все это в мои руки отдалию Странно... 
Может кто-нибудь мне это разъяснит. А то я на данном этапе не понимаю пока такого... )

Автор: garbuz 8.1.2010, 21:53
Цитата(Dreamtraveler @  8.1.2010,  13:31 Найти цитируемый пост)
Раньше я от SimpleFormController расширялся и все вызывалось "само", и валидация и initBinder. 

не было такого. 

Автор: Dreamtraveler 11.1.2010, 15:04
А вот скажите, garbuz, помойму  вы создавали когда-то посто вот с такой примерно проблеммой:

ERROR http-8084-2 ContextLoader:initWebApplicationContext:208 - Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]
Offending resource: ServletContext resource [/WEB-INF/faces-config.xml]

        at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:284)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1332)
        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:142)
        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
        at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
        at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
        at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
        at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
        at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:458)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:388)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)

Вам удалось её решить? 
А то я не могу пока понять что за ошибка такая. Spring не хочет ужится с faces-config.xml файлом. 
Мне нужно определить такую конструкцию:

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

Может её еще где можно определить? Или в аннотациях как-то. Я использую JSF 2.0 + Spring. Хочю чтоб JSF был как view а все остальное 
Spring.

Автор: garbuz 11.1.2010, 15:29
Дайте ссылку на пост. С jsf точно не я создавал, я с jsf не работал.

Автор: MisterCleric 11.1.2010, 17:23
Привет. всем. 
Насчет ошибки
Цитата

http://java.sun.com/xml/ns/javaee

даж не знаю что сказать? Я использую такую связку и проблем нету.
Опишу что имею:
1. В либах имею такое
jsf-api.jar
jsf-impl.jar
jstl.jar
richfaces-api.jar
richfaces-impl.jar
richfaces-ui.jar
spring-web.jar
spring-webmvc.jar
spring.jar
standard.jar

2. faces-config.xml именно такой как описан.
3. В web.xml такое:
Код

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

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

    <listener>
        <listener-class>org.springframework.security.ui.session.HttpSessionEventPublisher</listener-class>
    </listener>

    <filter>
        <display-name>RichFaces Filter</display-name>
        <filter-name>richfaces</filter-name>
        <filter-class>org.ajax4jsf.Filter</filter-class>
    </filter>


    <filter-mapping>
        <filter-name>richfaces</filter-name>
        <servlet-name>Faces Servlet</servlet-name>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
        <dispatcher>INCLUDE</dispatcher>
    </filter-mapping>

    <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>


может быть быть проблема в том, что данный namespace действительно не принадлежит jsf 2.0? У него другой вид конфига должен быть? или SpringBeanFacesELResolver не подходит для jsf 2.0 ?

Автор: Dreamtraveler 11.1.2010, 20:28
Ссылку дать немогу сечас, garbuz. Но там обсуждался Spring Securety. Не JSF. Просто ошибка похожая. 

MisterCleric, я только начал знакомиться с JSF и поэтому возникают такие веселые проблеммы. 
Что касается того, что  SpringBeanFacesELResolver не подходит для jsf 2.0, то я коментировал этистроки и оставлял только такое:

<?xml version='1.0' encoding='UTF-8'?>

<!-- =========== FULL CONFIGURATION FILE ================================== -->

<faces-config version="2.0"
    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&quot;&gt;


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

</faces-config> 

Ошибка не уходит. 
А вы какой JSF используете 1.2 или 2.0?

У меня включены все библиотеки кроме:

richfaces-api.jar
richfaces-impl.jar
richfaces-ui.jar

Для чего они?

Конфиги такие:

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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&quot;&gt;
   <!-- <web-app version="3.0" 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&quot;&gt;-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/faces-config.xml,
            /WEB-INF/applicationContext.xml,
            /WEB-INF/classes/PlatsDatabase2.xml,
            /WEB-INF/classes/PlatsController1.xml,
            /WEB-INF/classes/PlatsForser2.xml
        </param-value>
    </context-param>
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>WEB-INF/log4j.properties</param-value>
    </context-param>
    <!--<context-param>
        <param-name>log4jExposeWebAppRoot</param-name>
        <param-value>false</param-value>
    </context-param>-->
    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>uniqueAppRootNamee</param-value>
    </context-param>
    <listener>
        <description>log4j - listener.</description>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <!--<init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value/>
        </init-param>-->
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value/>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <!--<url-pattern>*.htm</url-pattern>-->
         <url-pattern>*.usr</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <!--<welcome-file>welcomeGWT.html</welcome-file>-->
         <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
    <resource-ref>
        <description>Jnidi by me.</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
</web-app>

И еще такой вопрос в JSF 1.2 использовались JSP, в 2.0 уже facelets .xhtml.  Так JSP признаны устаревшими форматом для JSF?
Тогда как мне определить такую конструкцию:

<link rel="STYLESHEET" href="<spring:theme code="styleSheet"/>" type="text/css"/>

и подключить библиотеку :
<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
для этого?



Автор: garbuz 11.1.2010, 21:40
Dreamtraveler, я нашел http://forum.vingrad.ru/forum/topic-264244/unread-1.htmlпост, там дело в либах было, пост про секьюрити. Проверь еще раз свои либы, посмотри деплоятся ли они на сервер или нет.

Автор: MisterCleric 11.1.2010, 23:33
Dreamtraveler, твоя ошибка вот здесь
Цитата

<param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/faces-config.xml, --тута
            /WEB-INF/applicationContext.xml,
            /WEB-INF/classes/PlatsDatabase2.xml,
            /WEB-INF/classes/PlatsController1.xml,
            /WEB-INF/classes/PlatsForser2.xml
        </param-value>


это конфиг jsf, а не spring. его кушает javax.faces.webapp.FacesServlet
А дальше они сами разруливают работу. Естественно, что для nameSpace="http://java.sun.com/xml/ns/javaee" у Spring нет хендлера

Добавлено через 34 секунды
да, richfaces - это конкретная реализация jsf

Автор: Dreamtraveler 12.1.2010, 08:52
Спасибо, MisterCleric. Вчера я уже начал до этого доходить.

"его кушает javax.faces.webapp.FacesServlet" - а как он его кушает?

Чтобы Spring  принял "конфиги" я ему их даю так:

 <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value/>
        </init-param>
        <load-on-startup>2</load-on-startup>
  </servlet>

А как javax.faces.webapp.FacesServlet'у  скормить faces-config.xml? 
Смотрел примеры web.xml файлов, так там что-то не одной ссылки на faces-config.xml не видел и в вашем web.xml тоже. 
Автоматически он чтоли его ищет?

тогда почему возникает такая ошибка при попытке запустить .jsp:

Код


<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

<<f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <link rel="STYLESHEET" href="secureUser/steelsheet/userstil.css" type="text/css"/>
            <%--<link rel="STYLESHEET" href="<spring:theme code="styleSheet"/>" type="text/css"/>--%>
            <title>Wellcome to UserArea!</title>        
        </head>
        <body>
            <h1 class="area">User Area.</h1>
      <h2 class="user_a"> Remote user: <%= request.getRemoteUser()%></h2>
      
            <h4 class="text"><h:outputText value="#{userConrtoller.st}"/></h4>
        </body>
    </html>
</f:view>


org.apache.jasper.JasperException: An exception occurred processing JSP page /secureUser/userArea.jsp at line 15

12: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
13:     "http://www.w3.org/TR/html4/loose.dtd">
14: 
15: <<f:view>
16:     <html>
17:         <head>
18:             <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>



Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:239)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

root cause 
java.lang.RuntimeException: Cannot find FacesContext
    javax.faces.webapp.UIComponentClassicTagBase.getFacesContext(UIComponentClassicTagBase.java:1855)
    javax.faces.webapp.UIComponentClassicTagBase.setJspId(UIComponentClassicTagBase.java:1672)
    org.apache.jsp.secureUser.userArea_jsp._jspService(userArea_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:239)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)

Я так понимаю без определения:

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

не смогу работать со Spring'овскими контроллерами.

И еще вопрос: если использовать не .jsp формат, а xhtml то как  подключить библиотеку :
<%@taglib uri="http://www.springframework.org/tags" prefix="spring" %>

Хочу научить страницу менять темы и в спринговской документации нашел такое определение:

<link rel="STYLESHEET" href="<spring:theme code="styleSheet"/>" type="text/css"/>

для этого и нужна библиотека. 

Автор: MisterCleric 12.1.2010, 10:00
пропиши такое в web.xml
Код

    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
    </context-param>

!-- Use JSF view templates saved as *.xhtml, for use with Facelets -->
     <context-param>
             <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
             <param-value>.xhtml</param-value>
      </context-param>

Автор: Dreamtraveler 12.1.2010, 10:30
Хорошо. Это я пропишу. 
Я еще вот что хочу спросить:

Я там писал, что хочу подружить Spring и JSF. Так вот, сейчас я пытаюсь использовать спринговский диспечер
для доступа к вьюверам т.е. файлам .xhtml и .jsp:

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
       <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value/>
        </init-param>
        <load-on-startup>2</load-on-startup>
 </servlet>

<servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <!--<url-pattern>*.htm</url-pattern>-->
         <url-pattern>*.usr</url-pattern>
    </servlet-mapping>

В браузере вызываю: http://localhost:8084/PortalWr/user.usr 

В это случае и возникает вышеупомянутая ошибка.

Правильно ли я поступаю или мне нужно использовать JSF'совский диспечер:

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

И в браузере вызывать: http://localhost:8084/PortalWr/faces/user.xhtml

В таком случае ошибка не возникает. Но тогда гдеже Spring?
Хотелось бы чтобы рулил спринговский диспечер со всеми настройками для моих контроллеров.
Я планировал добится этого при помощи включения в faces-config.xml 
строки <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>
и больше ничего.

Вот и если это невозможно то как настраивать контроллеры? 

Раньше было так в контексте спринга:
Настроил контроллеры резольверы и т.п.

Теперь это надо делать в контексте JSF?



Автор: MisterCleric 12.1.2010, 11:16
Надо читать книжку по этому поводу.
У меня, собственно, так как ты и описываешь:
в faces-config.xml  просто лежит el-resolver,
а все остальное конфигурирую в srping-контексте.
Да, я не использую SpringMVC, но вью у меня полностью на JSF. Но ему, собственно, никакой MVC и не нужен - он сам такой, при чем самый мощный. Т.е. ты берешь MVC-модель из JSF, а бизнес-слой у тебя на Spring. Конечно можно и все остальные фишки JSF перенести в конфиги Spring, например конвертеры или рендеры, валидаторы ну и т.д., что раньше настраивалось в конфиге JSF, теперь будет в Spring.

Автор: Dreamtraveler 12.1.2010, 11:31
Ладно будем изучать. Быстро не получилось. )
Кстати что на твой взгляд стоит почитать на ету тему? 

Автор: MisterCleric 12.1.2010, 11:36
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/web-integration.html#jsf
И там же будет ссылка на SpringWebFlow

Автор: Omut 13.1.2010, 02:37
Цитата(MisterCleric @  11.1.2010,  23:33 Найти цитируемый пост)
да, richfaces - это конкретная реализация jsf


Разве?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)