Struts2 action處理業務請求

2022-09-11 03:24:11 字數 2346 閱讀 5839

"struts.devmode

" value="

true

">

"struts.i18n.encoding

" value="

utf-8

">

"default

"namespace="

/" extends="

struts-default

">

"hello

"class="

action.helloaction

">

/hello.jsp

taglib標籤庫

<%@taglib uri="/struts-tags" prefix="s" %>     引用表示引用action類屬性的值

1、定義實體類並,為實體新增屬性和setter及getter方法

2、為action類新增實體屬性和setter及getter方法。例如 private user user;

3、修改表單引數name為實體物件名.屬性名 。例如:name=「user.username」

4、取值通過的方式。

1、定義實體類並,為實體新增屬性和setter及getter方法

2、建立action類,實現modeldriven介面,重寫getmodel()方法,該方法返回值為實體屬性。例如  public user getmodel() return user

3、為action類新增j**abase型別屬性,並需要例項化,不需要setter及getter方法。例如 private user user=new user();

4、form表單項的name屬性,以及頁面的取值時通過方式,

相同點:與j**abase方式定義action屬性的方式類似,與屬性方式在jsp頁面中的方式相同。

不同點:modedriven方式乙個action對應乙個model用於接受引數。而j**abase方式乙個action可以對應多個model

modedriven方法與屬性方式同時存在action時,對於相同的屬性,modedriven方式優先被賦值。

訪問action時,預設呼叫的execute方法,可以在action中定義多個業務方法,方法簽名要和public string execute()相同,例如 public string add()

可以使用method屬性配置指定呼叫的方法,例如乙個action可以配置多個來對應action中的多個方法,使用不同的name屬性值和method屬性值配置

例如

"struts.devmode

" value="

true

">

"struts.i18n.encoding

" value="

utf-8

">

"default

"namespace="

/" extends="

struts-default

">

"hello

"class="

action.helloaction

" method="

execute

">

/hello.jsp

"hello2

"class="

action.helloaction

" method="

add">

/success.jsp

"hello3

"class="

action.helloaction

" method="

updata

">

/success2.jsp

使struts.xml結構清晰直觀,減少各個模組內容的互相干擾,各司其職。

1、按照模組在不同的xml中配置〈action〉

例如  struts_user.xml:

2、在struts.xml中使用〈include〉標籤包含多個xml檔案

例如:struts.xml:

用*號匹配到內容替換對應的大括號位置上的內容,一般使用1個*號

"*_*"

class="

action.action

" method="

">

/_.jsp

/user_add.jsp

當有多action 匹配時的順序  :1、優先使用完全匹配,其次才使用萬用字元。

當有多個萬用字元匹配時:1、優先寫在前面的萬用字元    

----表示找不到action時,訪問名為user的action

/index.jsp

struts2 action 配置方法

struts2 action幾乎完全吸收了xwork 的精華,近日學習struts 2,總結一下action的配製方法。首先看一下com.opensymphony.xwork2.action的介面宣告,action提供execute 方法,子類必須實現execute 方法。public inte c...

struts2 action中result引數詳解

chain 用來處理action鏈 com.opensymphony.xwork2.actionchainresult dispatcher 用來轉向頁面,通常處理jsp org.apache.struts2.dispatcher.servletdispatcherresult freemaker ...

Struts2 Action獲取Scope物件

方式 一 與servlet解耦合的非ioc方式 獲取的scope物件與容器無關,通過actioncontext獲取。loginaction 如下 package com.asm public class loginaction extends actionsupport 省略username的get...