我回來了!!從萬惡的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了
是不是變的比較方便了
那到了這邊還是要跟各位客倌講一下
有什麼不懂的~或是配置不起來的
都可以跟討厭鬼說
我會想辦法再跟各位客倌說明
真是抱歉呀~我的文筆沒有很好
留言列表