1 新建一個web工程;
2把struts2核心包拷到工程的lib下葬馋;
3在web.xml中配置Struts2的前端控制器遍搞;(3拷貝)
右鍵項目myeclipse-add struts capabilities
選struts2.1 ?/* next 把勾刪了 2014版本第二個勾不刪
ctrl+shift+t?f ?strutsp 選中 拷貝第一行路徑
<filter>Web App Libraries->struts2-core-2.3.1.2.jar->org.apache.struts2.dispatcher.ng.filter->StrutsPrepareAndExecuteFilter.class
4在src目錄下新建struts.xml文件茧泪;(4拷貝,跑一下)
自動生成
4新建一個Action類仑撞,完成從action到j(luò)sp功能;
package com.hw.action;
public class Hello {
public String helloWorld(){
return "hello";
}
public String add(){
return "add";
}
}
5在struts.xml里進(jìn)行配置音比;
<package name="default" extends="struts-default">
<action name="qq" class="com.hw.action.Hello">
<action name="user_*" class="com.hw.action.UserAction"
method="{1}">
默認(rèn)為轉(zhuǎn)發(fā)
另一個action type="redirectAction" (\)per_list不寫Action也可以但是最好寫上
<result name="hello" type="dispatcher">/hello.jsp</result>
/WEB-INF/user/list.jsp
<result name="add" type="redirect">/add.jsp</result>
</action>
</package>
6編寫jsp頁面俭尖,接收action中傳的值;
<a href="qq!helloWorld">hello</a>
<a href="qq!add">add</a>
7測試效果洞翩。
在Struts2中稽犁,一個Action類代表一次請求或調(diào)用,每個請求的動作都對應(yīng)于一個相應(yīng)的Action類骚亿,一個Action類是一個獨立的工作單元已亥。
在struts2中開發(fā)action有三種方式
1、寫普通類,屬性有set get方法,有execute()方法
struts中第 1種取值和傳值方法:屬性不多的情況用来屠,
* 只要表單中的元素名和action中的屬性名一致同時有set get方法即可自動取值
基本數(shù)據(jù)類型的屬性對應(yīng)虑椎,約定俗稱:屬性驅(qū)動
* JavaBean風(fēng)格的屬性對應(yīng),約定俗稱:直接使用域?qū)ο?/p>
implements ModelDriven<User>{//可以沒有set get方法俱笛,如果有修改則需要有
private User uu=new User();
public User getModel(){//jsp不用寫uu.
return uu;//要返回對象捆姜,不能為空}
2、實現(xiàn) Action接口,里面自動有execute()方法,只有寫屬性同時有set get方法即可
com.opensymphony-xwork2
ctrl點Action Attach source 看源碼 strut的都可以看
Action中有5個常量
SUCCESS = "success"
NONE = "none"
ERROR = "error"
INPUT = "input"
LOGIN = "login"
還有一個execute()方法
3迎膜、繼承 ActionSupport,因為ActionSupport是在Action基礎(chǔ)上開發(fā)的,可以直接使用Action中的屬性和方法及自身特有的方法.所以在實際開發(fā)中一般使用此種方法
注:execute方法是自動調(diào)用娇未,不是可以有2種方式調(diào)用