2010-04-15 8 views
0

Je dois intégrer des entretoises avec ressort pour un projet. J'ai lu le document pour ingrater les hampes et c'est bon pour les haricots classiques mais j'ai un problème pour mes formes.Entretoises de ressort et formes

J'ai une forme comme ça dans mon struts-config.xml:

<form-beans> 
<form-bean name="creationForm" type="org.apache.struts.validator.DynaValidatorActionForm" > 

    <form-property name="libelle" type="java.lang.String" /> 
    <form-property name="quantite" type="java.lang.String" /> 
    <form-property name="prix" type="java.lang.String" initial="10" /> 

</form-bean> 

Mais il est étrange pour moi d'avoir un « type » dans struts-config car il est le printemps qui gère les haricots .

Je ne trouve rien dans le document pour gérer les formulaires au printemps et l'attribut "type" est obligatoire pour la forme dans struts-config.

Quelqu'un peut m'aider s'il vous plaît?

Répondre

0

Je ne sais pas exactement comment vous avez choisi d'intégrer les deux frameworks mais par expérience, je peux vous dire que cela fonctionne.

par exemple mon struts-config.xml a les éléments suivants:

<struts-config> 
    <!-- ================== Form Beans ================ --> 
    <form-beans> 
     <form-bean name="UploadForm" type="com.foo.bar.forms.UploadForm" /> 
    </form-beans> 
    <!-- ================== Action Mapping Definitions ================ --> 
    <action-mappings> 
     <action path="/pages/UploadFiles" name="UploadForm" 
      type="org.springframework.web.struts.DelegatingActionProxy" scope="request" 
      input="/pages/ImportFiles.jsp"> 
      <forward name="success" path="/pages/SwitchView.do" /> 
     </action> 
    <!-- ================================ Plugins ============================== --> 
    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> 
     <set-property property="contextConfigLocation" 
      value="/WEB-INF/action-servlet.xml, /WEB-INF/applicationContext.xml" /> 
    </plug-in> 
</struts-config> 

mon fichier action servlet.xml contient la définition de haricot suivant:

<bean name="/pages/UploadFiles" class="com.foo.bar.actions.UploadFilesAction" />

De cette façon Struts-1 conserve le contrôle du MVC mais Spring "gère" l'ensemble de l'application.

Hope it helps

EDIT:

votre web.xml devrait alos avoir les éléments suivants:

<listener> 
    <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> 
</listener> 
<servlet> 
    <servlet-name>context</servlet-name> 
    <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

EDIT 2:

Hmm, en votre struts-config, vous définissez le type pour votre formulaire (com.foo.bar.forms.UploadForm) comme moi.

Mon travail de code, mais il est étranges entretoises gérer les haricots de forme et le printemps gérer autres haricots.

Je ne pense pas que ce soit étrange du tout ...

Concrètement, je voudrais savoir si il est possible de le faire

Oui

ajouter la fève:

<bean name="CaseUpdateForm" class="com.foo.bar.forms.CaseUpdateForm" > 

et convertir le grain ci-dessus pour:

<bean name="/pages/UploadFiles" class="com.foo.bar.actions.UploadFilesAction"> 
    <property name="updateForm" ref="UpdateForm" /> 
</bean> 
0

Hmm, dans votre struts-config, vous définissez le type de votre formulaire (com.foo.bar.forms.UploadForm) comme moi.

Mon travail de code, mais c'est étranges entretoises gérer les haricots de forme et de printemps gérer les autres haricots.

Concrètement, je voudrais savoir s'il est possible de le faire (j'utiliser votre exemple):

struts-config:

<form-beans> 
    <form-bean name="UploadForm" /> 
</form-beans> 

action servlet:

<bean name="UploadForm" class="com.foo.bar.forms.UploadForm" > 
    </bean> 
+1

S'il vous plaît déplacez cette réponse à votre question en tant que EDIT ... – Yaneeve