<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.  回復  更多評論
      

    主站蜘蛛池模板: 精品免费国产一区二区| 中文无码成人免费视频在线观看| 又粗又大又黑又长的免费视频 | 97视频免费观看2区| 亚洲国产成人一区二区三区| 中国在线观看免费的www| a级亚洲片精品久久久久久久| 一级黄色免费大片| 国产亚洲成AV人片在线观黄桃| 日本免费在线观看| 亚洲Aⅴ无码专区在线观看q| 精品国产免费一区二区三区香蕉| 亚洲av永久无码精品古装片| 免费国产成人午夜在线观看| 亚洲视频在线观看免费视频| 国产人在线成免费视频| 亚洲av成人中文无码专区| 亚洲伦乱亚洲h视频| 99视频在线免费观看| 亚洲成AV人片在线观看无| 精品免费人成视频app| 亚洲最大视频网站| 色吊丝最新永久免费观看网站| 美女扒开尿口给男人爽免费视频 | 亚洲人成无码网站久久99热国产| 中文字幕av免费专区| 久久久久亚洲av无码专区导航| 成年在线观看网站免费| 羞羞视频在线免费观看| 精品国产_亚洲人成在线高清| 日本黄网站动漫视频免费| 亚洲毛片在线免费观看| 亚洲一卡2卡4卡5卡6卡在线99| 黄 色一级 成 人网站免费| 亚洲AV无码成人精品区蜜桃| 男女做羞羞的事视频免费观看无遮挡| 亚洲AV色无码乱码在线观看| 久久精品国产亚洲一区二区三区 | 好大好硬好爽免费视频| 亚洲精品视频免费观看| 亚洲人成人77777在线播放|