structs修改後自動更新
action執行的時候並不一定要執行execute方法
method="add">
/user_add_success.jsp
/user_add_success.jsp
可以在配置檔案中配置action的時候用method=來指定執行哪個方法
/user/useradd">新增使用者
/user/user!add">新增使用者
前者會產生太多的action,所以不推薦使用
必須使用絕對路徑
<% string context = request.getcontextpath(); %>
/actions/studentadd">新增學生 或者
"/>
萬用字元配置
/__success.jsp
structs2接收引數的方式有三種:
actionattrparaminput
domainmodelparaminput
modeldrivenparaminput
structs 標籤
<%@taglib uri="/struts-tags" prefix="s" %>
s:property 標籤能把 value stack 和 stack context 裡面的內容取出來
直接寫名字就行了
stack context 則需加#號
訪問web元素
使用依賴注入
然後實現他們的方法
最後把所要放入的值,put()進去
模組包含
預設action引用(即使輸入不存在的action,也可以顯示預設的action)
action 總結
1.實現乙個action的最常用方式:從actionsupport繼承
2.dmi動態方法呼叫
3.通配配置*
4.接引引數的方法(一般用屬性或者domainmodel來接收)
5.簡單引數驗證
a)一般不使用struts2的ui標籤
6.訪問web元素
a)map型別
i ioc
ii 依賴struts2
b) 原始型別
i ioc
ii 依賴struts2
7.飲食檔案配置
8.預設action處理
result type跳轉
伺服器跳轉
/r1.jsp
客戶端跳轉
/r2.jsp
action跳轉r1
dashboard
/secure
r2 result裡的包繼承
動態結果集(用的並不多)$
r跟據action裡面的值動態決定
result總結
1.常用四種型別
a) dispatcher(預設)
b) redirect
c) chain
d) redirectaction
2。全域性結果集
a) global-results|extends
3.動態結果(了解)
a) 在action中儲存乙個屬性,儲存具體的結果location
4.傳遞引數
a)客戶端跳轉才需要傳遞
b)${}表示式(不是el)
ognl
1.user.***只有傳值,才會構造,想初始化 domain model可以自己new,也可以偉值
但必須要有空的構造方法
%的作用強制把{}裡的東西不當字串而是把它當成ognl表達示
訪問值棧中的值
struts-tags
1.通用標籤
a)property
b)set(只使用value,var,scope)
c)bean
d)include(以後少用)
2.控制標籤
a) if elseif else
b) iterator(var,status)
3.ui標籤
a) theme
i. ****** shtml(預設)css.xhtml.ajax
5.$#%的區別
a) $用於il8n和sturts配置檔案
b) #取得actioncontext的值
c) %將原體的文字屬性解析為ognl,對於本來就是ognl的屬性不起作用。
i 參考和
定義自己的theme
1 css(覆蓋 struts2原來的css)
2 覆蓋單個檔案
3 定義自己的theme
4 實戰(把所有主題定義為******,fielderror行列處理,自己控制**標籤的展現)
命名約定
ext框架
mysql mangement lite
sql> create table category(
2 id int primary key,
3 name varchar(50),
4 description varchar(200)
5 );
sql> create sequence cateid
2 start with 1
3 increment by 1
4 nocache
5 nocycle
6 order;
1 create or replace trigger zizeng_zhang
2 before insert on category
3 for each row
4 begin
5 if :new.id is null then
6 select cateid.nextval into :new.id from dual;
7 end if;
8* end zizeng_zhang;
sql> /
宣告式異常處理
1.在action中進行異常對映
2.在package中進行全域性異常對映
3.使用繼承共用異常對映
4.struts2中異常處理由***實現(觀察struts-default.xml)
a)實際上struts2的大多數功能都由***實現
default-action-ref慎用
國際化問題
i18n
1.i18n原理
a) resourcbundle 和locale的概念
b)資源檔案
c)native2
2.struts的資源檔案
//傳引數
c)動態語言切換
再寫乙個langaction 傳乙個引數 request-local=en_us
型別轉換
public class mypointconverter extends strutstypeconverter{
@override
public object convertfromstring(map context, string values, class toclass)
point p = new point();
string strs = (string)values;
string xy = strs[0].split(",");
p.x = integer.parseint(xy[0]);
p.y = integer.parseint(xy[1]);
return p;
@override
public string converttostring(map context, object o) {
// todo auto-generated method stub
return o.tostring();
三種註冊方式
1.區域性:***action-conversion.properties
1.p(屬性名稱)=converter
2.全域性
xwork-conversion.properties
3.annotation
如果遇到非常麻煩的對映轉換
1.request.setattribute();
2.session;
Struts2學習筆記
1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...
struts2學習筆記
xml 配置大都是通過 複製 貼上 修改 得到。其中此處 永遠是 url pattern url pattern struts.xml 內 action name hello action 一般用小寫。xml 內寫 時內自動提示設定 原始檔路徑不能有中文。此處複製了乙份dtd檔案到d myeclii...
struts2 學習筆記
在struts.xml中配置的action,訪問路徑是http ip port 工程名 action名 package節點的名稱對url沒有影響,只有namespace在存在同名action的情況下會有影響。因為struts尋找action的方式是首先按照action的url中,action名稱之前...