我回來了!!從萬惡的D3煉獄中生病的痛苦中回來了

其實這次的教學沒有什麼東西~

就只是將原本的struts.xml拿掉~改成用註解的方式

好處就是不用再配置這麼多的設定檔~要維護的時候會很方便的

因為只要全部都會在java檔裡面~就不會有什麼多的設定檔了~

 

那麼開始前不免要做一些設定

這邊的話呢!請去看Struts2 架構配置教學

看到web.xml設定完就可以了

應該是說~除了struts.xml那邊的不要設定外

其它的部份都可以看Struts2 架構配置教學這一篇

除了上面文章中要加的jar檔以外~還有以下

struts2-convention-plugin-2.2.3.jar

asm-3.1.jar

asm-commons-3.1.jar

 

剩下的部分很簡單~待我娓娓道来

我想了一下...還是直接看範例好了,這樣比較快

package com.nerdy.action;

import org.apache.struts2.convention.annotation.Action;

import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;

import com.opensymphony.xwork2.ActionSupport;

 

@Namespace("/index")
@ParentPackage(value="struts-default")
public class IndexAction extends ActionSupport{


    /**
    *
    */
    private static final long serialVersionUID = 1L;

    @Action(value="index", results={@Result(name="success",location="/index/index.jsp")})
    public String index(){

        return SUCCESS;
    }

}

 

 

@Namespace("/index")表示需要為/index/底下的action才會到這個地方

如果不同路徑但action名稱相同就需要用Namespace來區隔

例如說http://localhost:8080/struts/index/index.action跟

http://localhost:8080/struts/forum/index.action

同樣都為index.action如果沒有用Namespace來區隔就會進到同一個method


@ParentPackage(value="struts-default")為要繼承的package

 

@Action(value="index", results={@Result(name="success",location="/index/index.jsp")})

這段就是我的action要進入的method以及成功後要返回的頁面

這段是要寫在method上面的這樣才會知道是要進入到哪一個method

method 名稱可以不用跟 value

拿我上面的範例來說就是可以把index變成qttqtt也不會有問題,還是會進來這個method

@Action(value="index", results={@Result(name="success",location="/index/index.jsp")})

public String qttqtt(){

    return SUCCESS;
}

 

到了這邊其實已經配完了

那各位客倌可以再去Struts2 架構配置教學看一下struts.xml的配置

其實是差不多的只是討厭鬼在這邊多加了一個Namespace

不加也可以的~那當然在struts.xml也是可以加Namespace

只是看各位的需求~以及名稱會不會重覆羆了

 

這樣子以後就可以不用設定struts.xml了

是不是變的比較方便了

 

那到了這邊還是要跟各位客倌講一下

有什麼不懂的~或是配置不起來的

都可以跟討厭鬼說

我會想辦法再跟各位客倌說明

真是抱歉呀~我的文筆沒有很好

arrow
arrow
    全站熱搜

    討厭鬼 發表在 痞客邦 留言(0) 人氣()