Spring MVC - Ni BindingResult ni l’objet cible simple pour le nom de bean «xxx» disponible en tant qu’attribut de demande.

Problème

Récemment, je viens de convertir le lien://ressort-mvc/ressort-mvc-formulaire-traitement-exemple/[contrôleur de formulaire Spring MVC basé sur xml]en lien://ressort-mvc/ressort-mvc-formulaire-traitement-annotation -example/[contrôleur de formulaire basé sur des annotations]et affiche le message d’erreur suivant. + + SEVERE: ni BindingResult ni l’objet cible brut pour le nom de bean 'customerForm' disponible en tant qu’attribut de demande + java.lang.IllegalStateException: ni BindingResult ni l’objet cible simple pour le nom de bean 'customerForm' disponible en tant que demande attribut + + Le message d’erreur ci-dessus est clairement a indiqué que le bean «customerForm» n’existait pas et que je suis 100% sûr que le résolveur de vues est configuré correctement et que la page de vue «CustomerForm.jsp» existe déjà.

Contrôleur de forme

@Controller
@RequestMapping("/customer.htm")
public class CustomerController{

       @RequestMapping(method = RequestMethod.GET)
    public String initForm(ModelMap model){
       //return form view
        return "CustomerForm";
    }

Voir le résolveur

         ...
    <bean id="viewResolver"
          class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
              <property name="prefix">
                  <value>/WEB-INF/pages/</value>
              </property>
              <property name="suffix">
                 <value>.jsp</value>
             </property>
        </bean>

Solution

Le nom de la vue dans la page JSP est incorrect. Voir ci-dessous.

<form:form method="POST" commandName="customerForm">

Le “customerForm” n’existe plus dans le mappage du contrôleur, voir Mappage des annotations @ RequestMapping (“/customer.htm”) , il devrait devenir “client”.

<form:form method="POST" commandName="customer">

Cas similaires

J’ai vu pas mal de cas similaires se produire dans la classe validator ou SimpleFormController Pour le résoudre, assurez-vous que le nom du mappage est identique ou existant.

lien://tag/spring-mvc/[spring mvc]