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

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

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

    posts - 28,  comments - 15,  trackbacks - 0

    開啟Spring組合
    在WebWork中開啟Spring支持是非常簡單的,把最新版本的Spring的jar放到你的classpath中,然后在webwork.properties里面設置如下選項:

    webwork.objectFactory = spring?

    此時使用的類是: com.opensymphony.webwork.spring.WebWorkSpringObjectFactory,也可以指定為其他SpringObjectFactory.

    缺省Spring的裝配策略是 by name,可以修改webwork.properties改為其他方式,例如type,name,auto等這時所有對象都首先來用Spring來創建.如果Spring沒有創建這些對象,WebWork會自己創建這些對象. 然后,你需要在web.xml里面設置Spring的listener:

    ? <listener>
    ????? <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    ? </listener>
    ?
    Spring配置示例
    ?這時,你可以添加一個標準的Spring配置文件:WEB-INF/applicationContext.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="autodetect">
    ??????????? <bean id="personManager" class="com.acme.PersonManager"/>
    ??????????? ...
    ??????????? </beans>

    使用Spring初始化Action
    一般來說,你在xwork.xml里面為每個Action指定類.當使用SpringObjectFactory的時候(如果按照上面的方法配置了), 這意味著WebWork會首先請求Spring創建這個Action并按照缺省的自動裝配策略設定依賴的屬性.SpringObjectFactory還會調用所有bean的處理器來處理事務,安全等方面的代理機制.不需要特殊的設置Spring就可以自動確定.對大多數的應用,這會配置你的Action所需的服務和依賴,來達到你的所有要求.

    ?我們強烈推薦你找到一種聲明的方法來讓spring知道該為你的Action提供什么.這包括把你的Action里的屬性命名為在Spring配子文件里定義的Bean的名字一致,這樣可以實現基于名字的自動裝配,還可以使用JDK5的標注來聲明事務和安全層需要.如果你能找到方法讓Spring知道你的Action需要什么而且不需要在applicationContext.xml里面進行外部配置的話,你就不需要在2個地方維護配置了.

    ?

    然而,有時你可能想要Spring來完全管理Bean.這是有實際意義的,例如,你如果想對你的Bean使用AOP或者Spring的相關技術,例如Acegi.為了達到這個目的,你僅僅要做的就是在xwork.xml里移除你的WebWork Action的類的屬性,然后在applicationContext.xml里面配置這個Bean.
    ?
    ?你的xwork.xml文件里面的action應該這樣定義:

    <!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" " http://www.opensymphony.com/xwork/xwork-1.1.dtd ">
    <xwork>
    ? <include file="webwork-default.xml"/>
    ? <package name="default" extends="webwork-default">
    ??? <action name="foo" class="foo">
    ????? <result>foo.ftl</result>
    ??? </action>
    ? </package>
    ? <package name="secure" namespace="/secure" extends="default">
    ??? <action name="bar" class="bar">
    ????? <result>bar.ftl</result>
    ??? </action>
    ? </package>
    </xwork>
    Where you have a Spring bean defined in your applicationContext.xml named "bar". Note that the com.acme.Foo action did not need to be changed, because it can be autowired.

    (你需要在你的applicationContext.xml里定義一個名字為"bar"的bean. 注意 com.acme.Foo不需要被改變,因為它是自動裝配的.)
    ?記住:這個不是必須的.僅僅當你需要使用Spring的攔截器或者IoC來修飾Action以便覆蓋Webwork的缺省行為時,這才是必要的.要記住一點,WebWork的Spring組合會執行標準的IoC,使用你指定的自動裝配策略,即使你沒有明確第在Spring中映射每個Action.所以通常你不需要做這個,但是知道怎么做對你是有好處的,如果你需要的話.

    posted on 2006-08-25 17:30 zhangxl 閱讀(548) 評論(0)  編輯  收藏 所屬分類: web

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊

    收藏夾(2)

    hibernate

    java基礎

    mysql

    xml

    關注

    壓力測試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96783
    • 排名 - 600

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产乱子伦精品免费视频| 黄色视屏在线免费播放| 久久成人免费大片| 亚洲第一极品精品无码久久| 精品免费AV一区二区三区| 国产裸模视频免费区无码| 男男黄GAY片免费网站WWW| 国产三级电影免费观看| 窝窝影视午夜看片免费| 亚洲伊人成无码综合网 | 亚洲视频2020| 久久免费看黄a级毛片 | 777爽死你无码免费看一二区| 亚洲va无码专区国产乱码| 免费精品一区二区三区第35| 亚洲电影中文字幕| 国产一卡2卡3卡4卡2021免费观看 国产一卡2卡3卡4卡无卡免费视频 | 亚洲欧美日韩中文字幕一区二区三区| 亚洲中文无码永久免费 | 中文字幕久久亚洲一区| 日韩电影免费观看| 亚洲国产日韩女人aaaaaa毛片在线 | 女人张腿给男人桶视频免费版| 亚洲精品乱码久久久久蜜桃| 免费永久国产在线视频| 怡红院免费的全部视频| 亚洲精品乱码久久久久久下载| 免费无码又黄又爽又刺激| 美女被免费视频网站| 精品亚洲综合久久中文字幕| 无码精品A∨在线观看免费| 国产精品亚洲五月天高清| 国产亚洲一区二区精品| 国产91色综合久久免费| 美女被艹免费视频| 亚洲国产精品无码av| 成人毛片18女人毛片免费96 | 久久99热精品免费观看动漫 | 亚洲国产一二三精品无码| 久久久久久精品免费看SSS| 欧洲亚洲综合一区二区三区|