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

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

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

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    StrutsTestCase 不需要 寫 classpath 方法 ^_^

    Posted on 2007-04-16 16:01 G_G 閱讀(678) 評論(4)  編輯  收藏 所屬分類: JUnit
    下載http://sourceforge.net/projects/strutstestcase/
    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? />
    ??
    < form - beans? >
    ????
    < form - bean?name = " loginForm " ?type = " com.yourcompany.struts.form.LoginForm " ? />

    ??
    </ form - beans >

    ??
    < global - exceptions? />
    ??
    < global - forwards? />
    ??
    < action - mappings? >
    ????
    < action
    ??????name
    = " loginForm "
    ??????path
    = " /login "
    ??????scope
    = " request "
    ??????type
    = " com.yourcompany.struts.action.LoginAction " >
    ??????
    < forward
    ????????name
    = " ok "
    ????????path
    = " /form/suss.jsp " />
    ??????
    < forward
    ????????name
    = " error "
    ????????path
    = " /form/login.jsp " />
    ?????????
    ????
    </ action >

    ??
    </ action - mappings >

    ??
    < message - resources?parameter = " com.yourcompany.struts.ApplicationResources " ? />
    </ struts - config >
    Action
    //Created?by?MyEclipse?Struts
    //?XSL?source?(default):?platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.0.1/xslt/JavaClass.xsl

    package?com.yourcompany.struts.action;

    import?javax.servlet.http.HttpServletRequest;
    import?javax.servlet.http.HttpServletResponse;

    import?org.apache.struts.action.Action;
    import?org.apache.struts.action.ActionForm;
    import?org.apache.struts.action.ActionForward;
    import?org.apache.struts.action.ActionMapping;

    import?com.yourcompany.struts.form.LoginForm;
    /**?
    ?*?MyEclipse?Struts
    ?*?Creation?date:?04-16-2007
    ?*?
    ?*?XDoclet?definition:
    ?*?@struts.action?path="/login"?name="loginForm"?input="/form/login.jsp"?scope="request"?validate="true"
    ?*?@struts.action-forward?name="Myjsp"?path="/WEB-INF/"
    ?
    */
    public?class?LoginAction?extends?Action?{

    ????
    //?---------------------------------------------------------?Instance?Variables

    ????
    //?---------------------------------------------------------?Methods

    ????
    /**?
    ?????*?Method?execute
    ?????*?
    @param?mapping
    ?????*?
    @param?form
    ?????*?
    @param?request
    ?????*?
    @param?response
    ?????*?
    @return?ActionForward
    ?????
    */
    ????
    public?ActionForward?execute(
    ????????ActionMapping?mapping,
    ????????ActionForm?form,
    ????????HttpServletRequest?request,
    ????????HttpServletResponse?response)?{
    ????????LoginForm?loginForm?
    =?(LoginForm)?form;
    ????????
    ????????String?name?
    =?loginForm.getName()?;
    ????????String?pass?
    =?loginForm.getPass()?;
    ????????
    ????????
    if(name.equals(pass)){
    ?????????????
    return?mapping.findForward("login");
    ????????????}
    ?????????
    return?mapping.findForward("ok");
    ?????????
    ????}

    }


    Form
    package?com.yourcompany.struts.form;

    import?org.apache.struts.action.ActionErrors;
    import?org.apache.struts.action.ActionForm;

    public?class?LoginForm?extends?ActionForm?{
    ????
    private?String?name?;
    ????
    private?String?pass?;
    ????
    ????
    public?void?setName(String?name){
    ????????
    this.name?=?name?;
    ????}
    ????
    public?String?getName(){
    ????????
    return?this.name?;
    ????}
    ????
    public?void?setPass(String?pass){
    ????????
    this.pass?=?pass?;
    ????}
    ????
    public?String?getPass(){
    ????????
    return?this.pass?;
    ????}
    }

    關鍵的來了 ----
    package?test;

    import?java.io.File;

    import?servletunit.struts.MockStrutsTestCase;
    import?junit.framework.TestCase;
    //
    public?class?StrutsTest?extends?MockStrutsTestCase?{

    ????
    public?StrutsTest(String?testName){
    ????????
    super(testName);
    ????}
    ????
    public?void?setUp()throws?Exception{
    ????????
    super.setUp();
    ??????????File?web?
    =?new?File("E:/src/StrutsTestCase/WebRoot/");
    ????????
    this.setContextDirectory(web);
    ????????setConfigFile(
    "E:/src/StrutsTestCase/WebRoot/WEB-INF/web.xml");
    ????????setConfigFile(
    "E:/src/StrutsTestCase/WebRoot/WEB-INF/struts-config.xml");
    ?

    ????}
    ????
    ????
    public?void?testAction()?{
    ??? ???
    setRequestPathInfo("/login");
    ????????this.addRequestParameter("name","liu");
    ????????
    this.addRequestParameter("pass","123");
    ????????actionPerform();
    ????????
    this.verifyForward("ok");
    ????}
    }

    不需要 寫 classpath 哈哈

    評論

    # 有關 cactus 的   回復  更多評論   

    2007-05-15 09:40 by G_G
     
    http://m.tkk7.com/zhyiwww/archive/2006/06/07/51185.html

    # re: StrutsTestCase 不需要 寫 classpath 方法 ^_^  回復  更多評論   

    2007-11-08 10:16 by 李泳
    假設我是用MyEclipse開發的,
    setConfigFile("E:/src/StrutsTestCase/WebRoot/WEB-INF/web.xml");
    里面的路徑是開發時項目中的路徑還是發布之后在Tomcat中的路徑????

    # re: StrutsTestCase 不需要 寫 classpath 方法 ^_^  回復  更多評論   

    2007-11-09 17:16 by G_G
    @李泳
    不是怎么理解的你的io操作!不要寫物理路徑。
    我告訴你一種方法
    這通過Classload來加載 寫邏輯路徑 就沒有這什么考慮的了
    可以參考我blog里的介紹
    http://m.tkk7.com/Good-Game/archive/2007/08/09/128154.html

    中的 hbn 加載文件

    # re: StrutsTestCase 不需要 寫 classpath 方法 ^_^  回復  更多評論   

    2007-11-09 17:20 by G_G
    你可以用
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

    new File(
    classLoader.get URL 什么方法名字不太記的了
    );

    寫邏輯名就可以如你的:
    /WebRoot/WEB-INF/web.xml
    主站蜘蛛池模板: 亚洲AV无码精品国产成人| 国产自国产自愉自愉免费24区 | 免费看又黄又无码的网站| 亚洲国产视频一区| 免费观看日本污污ww网站一区| 成全在线观看免费观看大全| 亚洲最大的成人网站| 亚洲午夜未满十八勿入网站2| 日韩免费a级毛片无码a∨ | 国产成人免费高清激情明星| 国产亚洲欧美日韩亚洲中文色| 亚洲人成色777777在线观看| 无码国产精品一区二区免费| 好吊色永久免费视频大全| 亚洲宅男精品一区在线观看| 亚洲午夜福利717| 日韩精品视频免费在线观看| 亚洲免费观看视频| 美女18毛片免费视频| 亚洲国产精品午夜电影| 国产午夜亚洲精品午夜鲁丝片| 性色av无码免费一区二区三区| 日本一区午夜艳熟免费| 精品在线观看免费| 国产99在线|亚洲| 亚洲AV无码专区国产乱码4SE| 亚洲成?v人片天堂网无码| 免费三级毛片电影片| 久久这里只精品国产免费10| 九九久久国产精品免费热6| 亚洲欧洲专线一区| 久久狠狠爱亚洲综合影院 | 美女巨胸喷奶水视频www免费| 亚洲AV无码AV日韩AV网站| 亚洲人成综合在线播放| 久久精品亚洲视频| 亚洲无人区午夜福利码高清完整版| 性做久久久久免费观看| 国产精品成人免费一区二区| 性色午夜视频免费男人的天堂| 好吊色永久免费视频大全|