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

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

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

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創(chuàng)造了水;
    因為黑暗,上帝創(chuàng)造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    問題描述:

    < plug - in?className = " org.apache.struts.validator.ValidatorPlugIn " >
    ????
    < set - property?property = " pathnames " ?value = " /WEB-INF/validator-rules.xml,/WEB-INF/validator/validation.xml " ? />
    ????
    < set - property?property = " stopOnFirstError " ?value = " true " ? />
    ??
    </ plug - in >
    其中
    < set - property?property = " stopOnFirstError " ?value = " true " ? /> 是什么意思???

    再比如:

    ???? < plug - in?className = " org.apache.struts.validator.ValidatorPlugIn " >
    ????????
    < set - property?property = " pathnames "
    ????????????value
    = " ?/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml " ? />
    ????
    </ plug - in >
    ????
    < plug - in
    ????????className
    = " org.springframework.web.struts.ContextLoaderPlugIn " >
    ????????
    < set - property?property = " contextConfigLocation "
    ????????????value
    = " /WEB-INF/classes/applicationContext.xml " ? />
    ????
    </ plug - in >

    轉(zhuǎn)貼來自:http://www.xdfbc.net/program/2007/3/22/5411908.htm

    創(chuàng)建一個實現(xiàn)了org.apache.struts.action.PlugIn接口的類文件并在struts - config.xml中設(shè)置plug - in元素。以下代碼片段顯示了一個plug - in生命聲明和一個自定義的set - property子元素:

    < plug - in?className = " com.oreilly.strutsckbk.CustomPlugin " ? >

    ??
    < set - property?property = " customData "

    ???????????????????value
    = " Hello?from?the?plugin " />

    </ plug - in >

    n???細節(jié)討論:

    Struts提供一個?PlugIn接口能使你在啟動應(yīng)用程序時為你提供自定義的操作。其源代碼如下:

    package ?org.apache.struts.action;

    ?

    import ?javax.servlet.ServletException;

    import ?org.apache.struts.config.ModuleConfig;

    ?

    public ? interface ?PlugIn? {

    ????
    void ?destroy();

    ????
    void ?init(ActionServlet?servlet,?ModuleConfig?config)

    ????????
    throws ?ServletException;

    }


    要實現(xiàn)一個plug
    - in,你只需要實現(xiàn)這個接口并在struts - config.xml文件的中聲明plug - in元素。子類必須實現(xiàn)方法destroy()和init()。init()在ActionServlet啟動時實例化plug - in過程中執(zhí)行,當(dāng)ActionServlet結(jié)束時執(zhí)行destroy(),一般情況下是應(yīng)用程序關(guān)閉。通過在plug - in元素中設(shè)置set - property元素,可以向PlugIn類傳遞參數(shù)。

    所有set
    - property元素都在init()方法執(zhí)行之前被執(zhí)行,這樣就可以在init()方法中使用這些由set - property設(shè)置的參數(shù)了。

    Struts將ActionServlet的引用和ModuleConfig參數(shù)傳遞給init()方法。ActionServlet使的init()方法中可以將數(shù)據(jù)保存到ServletContext中。ActionServlet還可以使你能夠訪問更多的J2EE組件如java?sources、message隊列等。ModuleConfig可以讓你訪問當(dāng)前的模塊配置信息。

    n???舉例說明:

    你需要定義一個plug
    - in記錄應(yīng)用程序何時運行的及運行了多久。

    TimeTracker.java:

    package ?com.yourcompany.struts.plugin;

    ?

    import ?java.util.Date;

    ?

    public ? class ?TimeTracker? {

    ?

    ??
    private ? long ?startUpTimeMillis;

    ??
    private ?Date?startedOn;

    ?

    ??
    public ?TimeTracker(?)? {

    ?????startUpTimeMillis?
    = ?System.currentTimeMillis(?);

    ?????startedOn?
    = ? new ?Date(?);

    ???}


    ?

    ??
    public ? long ?getUptime(?)? {

    ????
    return ?System.currentTimeMillis(?)? - ?startUpTimeMillis;

    ??}


    ?

    ??
    public ?Date?getStartedOn(?)? {

    ????
    return ?startedOn;

    ??}


    }


    創(chuàng)建一個PlugIn子類TimeTrackerPlugin。TimeTrackerPlugi將TimeTracker保存在ServletContext中,鍵名由由plug
    - in元素的set - propery子元素指定:

    TimeTrackerPlugin.java:

    package ?com.yourcompany.struts.plugin;

    ?

    import ?javax.servlet.ServletException;

    import ?org.apache.struts.action.ActionServlet;

    import ?org.apache.struts.action.PlugIn;

    import ?org.apache.struts.config.ModuleConfig;

    ?

    public ? class ?TimeTrackerPlugin? implements ?PlugIn? {

    ?

    ????
    private ?String?contextKey;

    ???

    ???
    public ? void ?setContextKey(String?key)? {

    ???????
    this .contextKey? = ?key;

    ???}


    ???

    ???
    public ? void ?init(ActionServlet?servlet,?ModuleConfig?conf)

    ?????????
    throws ?ServletException? {

    ??????servlet.getServletContext(?).setAttribute(contextKey,?
    new ?TimeTracker(?));

    ???}


    ?

    ???
    public ? void ?destroy(?)? {

    ????}


    }


    struts
    - config.xml:

    ??
    < plug - in?className = " com.yourcompany.struts.plugin.TimeTrackerPlugin " >

    ????
    < set - property?property = " contextKey " ?value = " timeTracker " />

    ??
    </ plug - in >

    ?

    你可以使用如下的JSP片段訪問TimTracker,并顯示關(guān)于應(yīng)用程序運行時間的信息。

    ?

    n???你也可以在web.xml中配置一個Servlet實現(xiàn)plug
    - in的功能將load - on - startup值設(shè)置為一個較低的值如1。他將在應(yīng)用程序啟動是自動加載并執(zhí)行。容器在實例化Servlet后將調(diào)用此Servlet的init()方法。比較而言,使用plug - in有更多的優(yōu)勢:

    1 .??一般情況下Struts應(yīng)用程序設(shè)置好web.xml后,在開發(fā)過程中不許要改動他的內(nèi)容。在web.xml中增加servlet意味著增加了一個維護對象。

    2 .??plug - in接口提供了訪問struts應(yīng)用程序特有的信息的能力。

    plug
    - in的聲明周期跟ActionSerlvet的生命周期一致。他可以保證你的struts應(yīng)用程序需要的信息可用。


    ?

    posted on 2007-03-26 15:10 ★yesjoy★ 閱讀(1267) 評論(0)  編輯  收藏 所屬分類: Structs學(xué)習(xí)
    主站蜘蛛池模板: 无码午夜成人1000部免费视频| 亚洲av无码成人精品区| 中文字幕永久免费| 亚洲欧美成人av在线观看| 久久精品国产精品亚洲毛片| 国产综合亚洲专区在线| 国产精品免费小视频| 国产成人精品免费视频动漫| 中文在线免费看视频| 免费一区二区三区在线视频| 亚洲人成欧美中文字幕| 亚洲精品国产成人专区| 亚洲精品乱码久久久久久蜜桃| 好男人看视频免费2019中文| 亚洲视频免费播放| 久久久久久久99精品免费| 美女被免费网站91色| 日韩免费在线中文字幕| 爱情岛论坛亚洲品质自拍视频网站 | 国产又黄又爽又猛的免费视频播放| 84pao国产成视频免费播放| 人妻在线日韩免费视频| 一级大黄美女免费播放| 免费中文字幕视频| 特黄特色的大片观看免费视频| 成人亚洲国产精品久久| 亚洲午夜无码久久| 亚洲愉拍一区二区三区| 亚洲一级毛片在线播放| 亚洲一区二区三区在线网站| 亚洲毛片免费视频| 亚洲人成在线精品| 亚洲最大无码中文字幕| 亚洲精品天堂在线观看| 亚洲午夜成激人情在线影院| 亚洲区视频在线观看| 亚洲综合欧美色五月俺也去| 国产亚洲精品AAAA片APP| 极品色天使在线婷婷天堂亚洲| 日韩色日韩视频亚洲网站| 深夜福利在线免费观看|