Struts2學習筆記

2021-05-26 08:17:33 字數 4084 閱讀 4411

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名稱之前...