Весенние распорки и формы - PullRequest
1 голос
/ 15 апреля 2010

Мне нужно интегрировать распорки с пружиной для проекта.

Я прочитал документ, чтобы скомбинировать распорки, и это нормально для классических бобов, но у меня есть проблема с моими формами.

У меня есть такая форма в моем 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>

Но для меня странно иметь "тип" в struts-config, потому что это весна, которая управляет bean-компонентами.

Я не нашел ничего в документе, чтобы управлять формами к весне, и атрибут "тип" является обязательным для формы в struts-config.

Кто-нибудь может мне помочь, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 15 апреля 2010

Хм, в вашем Struts-config вы устанавливаете тип для вашей формы (com.foo.bar.forms.UploadForm), как я.

Мой код работает, но странные распорки управляют bean-компонентами формы, а spring - другими bean-компонентами.

Конкретно, я хотел бы знать, возможно ли это сделать (я использую ваш пример):

распорка-конфигурация:

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

экшен-сервлет:

 <bean name="UploadForm" class="com.foo.bar.forms.UploadForm" >
  </bean>
0 голосов
/ 15 апреля 2010

Я не знаю, как именно вы решили интегрировать две платформы, но по опыту могу сказать, что это работает.

например, мой файл struts-config.xml имеет следующее:

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

Мой файл action-servlet.xml содержит следующее определение компонента:

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

Таким образом Struts-1 сохраняет контроль над MVC, но Spring «управляет» всем приложением.

Надеюсь, это поможет

EDIT:

ваш web.xml должен иметь следующее:

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

РЕДАКТИРОВАТЬ 2:

Хм, в вашем Struts-config вы устанавливаете тип вашей формы (com.foo.bar.forms.UploadForm) нравится я.

Мой код работает, но он странный управлять фасолью и весной управлять другие бобы.

Я не думаю, что это вообще странно ...

Конкретно, я хотел бы знать, если это можно сделать

Да

добавить компонент:

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

и преобразовать приведенный выше компонент в:

<bean name="/pages/UploadFiles" class="com.foo.bar.actions.UploadFilesAction">
   <property name="updateForm" ref="UpdateForm" />
</bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...