<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jinfeng_wang

    G-G-S,D-D-U!

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
    http://www.logemann.org/day/archives/000148.html


    For all those out there using Spring together with Struts, i created a small howTo regarding automatic generation of relevant files, especially the boring action-servlet-xml file which must be in synch with your struts-config.xml, at least for all Struts actions which should be injected by Spring.

    Lets start with the Action class:

    /**
    * Action to delete a Client
    * Date: 09.02.2005
    * Time: 15:29:15
    *
    * @author Logemann - Logentis e.K. (ml@logentis.de)
    * @version $Id$
    * @struts.action path="clientDelete" validate="false"
    * type="org.springframework.web.struts.DelegatingActionProxy"
    * name="emptyform"
    * @struts.action-forward name="back"
    * path="/clientManager.html" redirect="true"
    * @spring.bean name="clientDelete"
    */
    public class ClientDeleteAction extends Action {

    ClientManager clientManagerService;



    /**

    * Spring injection

    *

    * @param clientManagerService clientManagerService

    * @spring.property ref="clientManagerService"

    */

    public void setClientManagerService(ClientManager clientManagerService) {

    this.clientManagerService = clientManagerService;

    }

    [..]


    With this tags, the ant build target outlined below will create a struts-config.xml and the necessary action-servlet.xml needed by Spring. Lets see how the target looks:

    <path id="classpath">

    <fileset dir="c:/xdoclet-1.2.2" includes="*.jar"/>
    <fileset dir="c:/j2sdkee1.3.1/lib" includes="*.jar"/>
    <fileset dir="c:/struts/lib" includes="struts.jar"/>
    </path>

    <taskdef name="springdoclet"
    classname="xdoclet.modules.spring.SpringDocletTask"
    classpathref="classpath"/>

    <taskdef name="webdoclet"
    classname="xdoclet.modules.web.WebDocletTask"
    classpathref="classpath"/>

    <target name="myTest">
    <webdoclet destDir="c:\" force="true" verbose="true">
    <fileset dir="${src.dir}">
    <include name="**/*Form.java" />
    <include name="**/*Action.java" />
    <include name="**/*Servlet.java" />
    </fileset>
    <strutsconfigxml version="1.1" validateXml="true"/>
    </webdoclet>

    <springdoclet destDir="c:\" verbose="true">
    <fileset dir="${src.dir}">
    <include name="**/*Action.java" />
    </fileset>
    <springxml destinationFile="action-servlet.xml"/>
    </springdoclet>
    </target>

    Be sure to modify the classpath definition and the destDir values of springdoclet and webdoclet to suit your needs. Right now the Spring task only searches for Actions in order to create action-servlet.xml, if you also want to create your normal service beans like ClientManagerService, you should create another springdoclet task and output things to applicationContext.xml if you like.

    But this is mostly users choice, as you know, Spring supports from one to many bean definition files and its up to you how you want to have your spring xml world.

    This will be created when you run the mentioned target:

    (action-servlet.xml)


    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC
    "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

    <beans
    default-autowire="no"
    default-lazy-init="false"
    default-dependency-check="none"
    >

    <bean
    name="clientDelete"
    class="de.logentis.versysng.action.clientmanager.ClientDeleteAction"
    >

    <property name="clientManagerService">

    <ref bean="clientManagerService"/>
    </property>

    </bean>

    <!--
    To include additional bean definitions for Spring in the generated
    application context file, add a file to your XDoclet merge directory
    called spring-beans.xml that contains the <bean></bean> markup.
    -->
    </beans>


    (struts-config.xml)


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

    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

    <struts-config>

    <!-- ========== Data Sources Definitions =================================== -->
    <!--
    Define your Struts data sources in a file called struts-data-sources.xml and place
    it in your merge directory.
    -->

    <!-- ========== Form Bean Definitions =================================== -->
    <form-beans>

    <!--
    If you have non XDoclet forms, define them in a file called struts-forms.xml and
    place it in your merge directory.
    -->
    </form-beans>

    <!-- ========== Global Exceptions Definitions =================================== -->
    <!--
    Define your exceptions in a file called global-exceptions.xml and place
    it in your merge directory.
    -->

    <!-- ========== Global Forward Definitions =================================== -->
    <!--
    Define your forwards in a file called global-forwards.xml and place
    it in your merge directory.
    -->

    <!-- ========== Action Mapping Definitions =================================== -->
    <action-mappings>
    <action
    path="clientDelete"
    type="org.springframework.web.struts.DelegatingActionProxy"
    name="emptyform"
    scope="request"
    unknown="false"
    validate="false"
    >
    <forward
    name="back"
    path="/clientManager.html"
    redirect="true"
    />
    </action>

    <!-- If you have non XDoclet actions, define them in a file called struts-actions.xml and place it in your merge directory. -->
    </action-mappings>

    <!-- Define your Struts controller in a file called struts-controller.xml and place it in your merge directory. -->

    <!-- Define your Struts message-resources in a file called struts-message-resources.xml and place it in your merge directory. -->

    <!-- Define your Struts plugins in a file called struts-plugins.xml and place it in your merge directory. -->

    </struts-config>

    posted on 2008-03-20 09:42 jinfeng_wang 閱讀(896) 評論(1)  編輯  收藏 所屬分類: springantjavastructs

    評論

    # re: XDoclet Spring+Struts HowTo zz 2009-07-19 18:56 ddsfsdf@sfsdf.de
    Please remove this blog post or edit it in a way that my email adress is no longer in there!

    Thanks.  回復  更多評論
      

    主站蜘蛛池模板: 国产性生大片免费观看性| 美女黄色免费网站| 七色永久性tv网站免费看| 亚洲精品视频在线看| fc2免费人成为视频| 亚洲精品A在线观看| 久久精品免费大片国产大片| 亚洲v国产v天堂a无码久久| 色婷婷综合缴情综免费观看| 全亚洲最新黄色特级网站| 九九久久国产精品免费热6| 亚洲视频在线免费| 99麻豆久久久国产精品免费 | 亚洲视频在线观看免费| 小日子的在线观看免费| 亚洲最新视频在线观看| 国产精品1024永久免费视频| 亚洲三级视频在线| 日韩免费视频观看| 国产成人精品免费大全| 亚洲av成人无码久久精品| 波多野结衣在线免费观看| 亚洲精品无码一区二区 | 三年片在线观看免费观看高清电影 | 亚洲大尺码专区影院| 成人片黄网站A毛片免费| 无码天堂va亚洲va在线va| 亚洲精品视频免费观看| 日本xxxx色视频在线观看免费| 亚洲AV无码成人专区| 免费真实播放国产乱子伦| 中国极品美軳免费观看| 亚洲视频在线观看免费视频| 免费看大黄高清网站视频在线| 一区二区三区视频免费观看| 亚洲av色福利天堂| 日本免费高清一本视频| 成全在线观看免费观看大全| 欧洲 亚洲 国产图片综合| 亚洲精品无码专区2| 成年人免费的视频|