<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://www.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://www.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
    主站蜘蛛池模板: 久久精品亚洲精品国产色婷| 亚洲欧洲日产国码高潮αv| 亚洲Av永久无码精品三区在线 | 亚洲视频一区网站| 免费看黄的成人APP| 99亚洲精品卡2卡三卡4卡2卡| 成人性生活免费视频| 免费国内精品久久久久影院| 无码天堂va亚洲va在线va| 深夜国产福利99亚洲视频| 久久精品国产亚洲AV无码偷窥| 久久国产乱子免费精品| 亚洲第一精品电影网| 男女超爽刺激视频免费播放| 亚洲热线99精品视频| 青青青国产手机频在线免费观看| 亚洲人成在线播放网站岛国| 4455永久在线观免费看| 亚洲а∨天堂久久精品9966| 99re6在线视频精品免费下载| 亚洲国产天堂久久综合| 中出五十路免费视频| 久久国产亚洲精品无码| 午夜爱爱免费视频| 亚洲videosbestsex日本| 成全视频免费观看在线看| 久久亚洲美女精品国产精品 | 免费精品国产自产拍观看| 一个人看的www视频免费在线观看| 亚洲AV乱码一区二区三区林ゆな | 亚洲高清在线播放| 国语成本人片免费av无码| 亚洲色图综合网站| 啦啦啦在线免费视频| 两个人看的www高清免费视频| 亚洲理论精品午夜电影| 又大又黄又粗又爽的免费视频 | 在线看片免费人成视久网| 日韩亚洲人成在线综合日本| a级毛片免费高清视频| 亚洲成人午夜电影|