[Spring MVC] Problème de formulaire
Bonjour
VOici mon erreur
Code:
1 2 3 4 5
| org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'fomulaireappController' defined in ServletContext resource [/WEB-INF/springapp-servlet.xml]:
Can't resolve reference to bean 'personne' while setting property 'personne'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No bean named 'personne' is defined: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [livre,controller,urlMapping,dataSource,sessionFactory,jdbcExceptionTranslator,hibernateTemplate,transactionManager,livreDaoAble,livreServiceTarget,livreService,personneValidator,fomulaireappController]; root of BeanFactory hierarchy
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:180) |
Voici springapp-servlet.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<bean id="livre" class="livre.Livre">
<property name="id">
<value>1</value>
</property>
<property name="nom">
<value>nom</value>
</property>
<property name="auteur">
<value>auteur</value>
</property>
</bean>
<bean id="controller" class="web.SpringappController">
<property name="livre">
<ref bean="livre" />
</property>
<property name="livreMan">
<ref bean="livreServiceTarget" />
</property>
</bean>
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.htm">controller</prop>
<prop key="/form.htm">fomulaireappController</prop>
</props>
</property>
</bean>
<!-- ========================= Start of PERSISTENCE DEFINITIONS =========================-->
<!-- DataSource Definition -->
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/bdtest</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>root</value>
</property>
</bean>
<!-- Hibernate SessionFactory Definition -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="mappingResources">
<list>
<value>livre/livre.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">
true
</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.HashtableCacheProvider
</prop>
</props>
</property>
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- Spring Data Access Exception Translator Defintion -->
<bean id="jdbcExceptionTranslator"
class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<!-- Hibernate Template Defintion -->
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="jdbcExceptionTranslator">
<ref bean="jdbcExceptionTranslator" />
</property>
</bean>
<!-- Hibernate Transaction Manager Definition -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- ========================= Start of DAO DEFINITIONS ========================= -->
<!-- TODO DAO Definition: Hibernate implementation -->
<bean id="livreDaoAble" class="livre.dao.LivreDaoImpl">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<!-- ========================= Start of SERVICE DEFINITIONS ========================= -->
<!-- TODO Service Definition -->
<bean id="livreServiceTarget" class="livre.LivreServiceImpl">
<property name="livreDao">
<ref local="livreDaoAble" />
</property>
</bean>
<!-- Transactional proxy for the TODO Service -->
<bean id="livreService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="target">
<ref local="livreServiceTarget" />
</property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- Formulaire
Validator and Form Controller for the "Price Increase" page -->
<bean id="personneValidator" class="form.PersonneValidator" />
<bean id="fomulaireappController"
class="web.FormulaireappController">
<property name="sessionForm">
<value>true</value>
</property>
<property name="commandName">
<value>personne</value>
</property>
<property name="commandClass">
<value>form.Personne</value>
</property>
<property name="validator">
<ref bean="personneValidator" />
</property>
<property name="formView">
<value>personne</value>
</property>
<property name="successView">
<value>hello.htm</value>
</property>
<property name="personne">
<ref bean="personne" />
</property>
</bean>
<!--
<bean id="personne" class="form.Personne">
<property name="nom">
<value>nom</value>
</property>
</bean>
-->
</beans> |
voici le fichier FormulaireappControler
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| package web;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;
import form.Personne;
import form.PersonneValidator;
public class FormulaireappController extends SimpleFormController
{
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
private Personne personne;
private PersonneValidator personneValidator;
public PersonneValidator getPersonneValidator()
{
return personneValidator;
}
public void setPersonneValidator(PersonneValidator personneValidator)
{
System.out.println("setPersonneValidator");
this.personneValidator = personneValidator;
}
public ModelAndView onSubmit(Object command)throws ServletException
{
String now = (new java.util.Date()).toString();
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("now", now);
//int increase = ((PriceIncrease) command).getPercentage();
String toto = ((Personne)command).getNom();
System.out.println("onSubmit "+ toto);
logger.info("Passage dans FomulaireappControler");
System.out.println(toto);
//prodMan.increasePrice(increase);
// String now = (new java.util.Date()).toString();
logger.info("returning from PriceIncreaseForm view to " + getSuccessView());
// return new ModelAndView(new RedirectView(getSuccessView()));
return new ModelAndView("WEB-INF/jsp/login.jsp", "model", myModel);
}
protected Object formBackingObject(HttpServletRequest request)
throws ServletException
{
Personne toto = new Personne();
System.out.println("formBacking");
toto.setNom("non");
return toto;
}
public Personne getPersonne()
{
System.out.println("getPersonne");
return personne;
}
public void setPersonne(Personne nom)
{
System.out.println("setPersonne " + nom);
this.personne = nom;
}
} |
Quelqu'un a une idée?
Merci d'avance