<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 首頁 新隨筆 聯系 聚合 管理
      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 閱讀(890) 評論(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.  回復  更多評論
      

    主站蜘蛛池模板: 久久精品无码免费不卡| 国产精品亚洲专区无码唯爱网| 精品97国产免费人成视频| 免费一级毛片在线播放不收费| 亚洲综合小说另类图片动图| 99精品国产免费久久久久久下载| 亚洲人成毛片线播放| 国产精品成人免费视频网站京东| 亚洲高清有码中文字| 免费毛片在线播放| 亚洲AV综合色区无码一二三区| 日韩毛片免费在线观看| 疯狂做受xxxx高潮视频免费| 亚洲精品国产日韩无码AV永久免费网| 午夜在线免费视频| 久久亚洲精品无码| 91网站免费观看| 成a人片亚洲日本久久| 国产综合亚洲专区在线| 久久午夜夜伦鲁鲁片无码免费| 97久久精品亚洲中文字幕无码 | 精品国产日韩亚洲一区在线| 日本免费福利视频| 亚洲精品视频免费观看| 亚洲成年轻人电影网站www| 日韩在线免费视频| 特级aa**毛片免费观看| 亚洲熟妇无码AV在线播放| 亚洲视频在线免费看| 亚洲国产AV一区二区三区四区| 亚洲综合精品网站| 亚洲免费视频观看| 日韩一级片免费观看| 亚洲天天在线日亚洲洲精| 日韩a在线观看免费观看| 国产精品玖玖美女张开腿让男人桶爽免费看| 亚洲国产精品无码久久SM| 国产大片线上免费观看| 国产VA免费精品高清在线| 亚洲午夜精品国产电影在线观看| 国产美女无遮挡免费网站|