自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WebWork工作方式淺談

開發(fā) 后端
Struts2的核心就是使用的WebWork,了解WebWork工作方式可以輕松的過渡到Struts2。

WebWork目前沒有集成很好的IDE工具,只能手動配置??梢栽趆ttp://www.opensymphony.com/webwork/下載到***的WebWork開發(fā)包。

以Eclipse+webwork-2.2.4為例配置步驟如下:

1、創(chuàng)建web工程

2、拷貝WebWork的jar文件到web工程的lib目錄,必須的jar文件包括Webwork-2.2.4.jar和WebWork的lib目錄下的default目錄中的所有jar文件。

3、修改web.xml,添加WebWork過濾器,固定內(nèi)容如下:

WebWork com.opensymphony.WebWork.dispatcher.FilterDispatcher WebWork /*

以上內(nèi)容,WebWork包中提供了模板文件,可以直接拷貝過來修改一下即可。

模板文件路徑:Webwork-2.2.4\webapps\blank\src\webapp\WEB-INF\web.xml

4、在src目錄下創(chuàng)建xwork.xml文件(路徑和文件名均是固定寫法),內(nèi)容如下:

/WEB-INF/pages/home.jsp

以上內(nèi)容,WebWork工作方式中提供了模板文件,可以直接拷貝過來修改一下即可。

模板文件路徑:

Webwork-2.2.4\webapps\blank\src\webapp\WEB-INF\classes\xwork.xml

其中被包含的webwork-default.xml文件不要隨意修改(包括里面內(nèi)容的順序),修改后WebWork可能會無法正常工作。

package標(biāo)簽使得配置文件也可以分包存放(與代碼的包不同)。

action標(biāo)簽的name屬性就是表單提交時使用的action的名字,class屬性代表處理請求的action類。

method屬性(可選)可以指定執(zhí)行的方法名,這是一個非常好用的屬性,在Struts中每個邏輯處理單元都要單獨寫一個action類,這樣一個工程可能會有很多action類,而每個action只做一個處理,使用method屬性可以只寫一個action類,根據(jù)需要指定不同的方法處理請求即可。

result標(biāo)簽指定action類執(zhí)行完后轉(zhuǎn)向的顯示頁面。

result標(biāo)簽也可以指定使用模板輸出顯示內(nèi)容,如Freemarker或Velocity。

5、創(chuàng)建action類,需要手工指定實現(xiàn)com.opensymphony.xwork.Action接口。

在Struts中如果有表單,則對應(yīng)表單需要有formbean,在WebWork中formbean則不是必須的,可以將表單提交的屬性作為變量,都寫到action類中,但必須為變量添加set和get方法,WebWork工作方式中使用類似Spring的注入功能實現(xiàn)變量的賦值。

action類也可以指定使用單獨的bean類實現(xiàn)類似formbean的功能,只需在action類中將此bean類的對象實例化好,并設(shè)置set和get方法即可。

如果不使用formbean則表單提交時表單元素的name屬性值要和action類中相應(yīng)的變量名相同,如果使用formbean則表單元素的name屬性值為“bean類名.屬性名”。

com.opensymphony.xwork.Action接口中的execute方法并沒有request和response參數(shù),而是將請求和響應(yīng)與web容器剝離,單獨封裝起來,由WebWork核心控制器管理,所以在處理請求時使用的request或session都要從WebWork上下文中獲取。

execute方法返回的是一個字符串而不是像Struts一樣封裝的ActionMapping對象,返回的字符串根據(jù)xwork.xml文件中對應(yīng)的action標(biāo)簽中的result標(biāo)簽找到指定的顯示頁面。

com.opensymphony.xwork.Action接口中定義了一些常用的常量用來表示頁面的轉(zhuǎn)向,常量的值與常量名相同。例如SUCCESS表示執(zhí)行成功。WebWork默認(rèn)的也是轉(zhuǎn)發(fā)而不是重定向。

最簡單的action類的代碼如下:

import java.util.Map;

import com.opensymphony.xwork.Action;

import com.opensymphony.xwork.ActionContext;

public class SampleAction implements Action { private String param = null;

//聲明變量(取代formbean的方式) /*變量的get方法*/

public String getParam() { return param; } /*變量的set方法*/

public void setParam(String param) { this.param = param; }

/*實現(xiàn)Action接口的execute方法,調(diào)用Model層實現(xiàn)業(yè)務(wù)邏輯*/

public String execute() throws Exception { Map session = ActionContext.getContext().getSession();

session.put("anyParam",getParam()); return SUCCESS;

//指定的顯示頁面在xwork.xml文件中設(shè)置 } }

6、至此基本的WebWork應(yīng)用已經(jīng)配置好了,創(chuàng)建Model層和View層實現(xiàn)業(yè)務(wù)邏輯即可。

WebWork的工作流程: WebWok還有一個可選的配置文件,文件名為webwork.properties,同樣是放在src目錄下。WebWork2.X在Tomcat5.5以上或Resin3可以正常運行,對中文支持不好,需要手動轉(zhuǎn)換編碼,可以添加如下配置信息:

webwork.locale=zh_CN webwork.i18n.encoding=GBK webwork中的action類缺省后綴是action,

也可以通過配置文件修改 webwork.action.extension=action 對webwork.properties文件詳細(xì)的配置說明可以參考: http://wiki.javascud.org/display/ww2cndoc/WebWork.properties

WebWork2.2.4以后就不再升級,已合并到Struts2中,后續(xù)版本只是打補(bǔ)丁而已。

Struts2的核心就是使用的WebWork,了解WebWork的工作方式可以輕松的過渡到Struts2。

【編輯推薦】

  1. WebWork注入Servlet方法詳解
  2. WebWork中返回INPUT的原因
  3. WebWork如何實現(xiàn)文件上傳配置過程
  4. 通過WebWork實現(xiàn)HelloWorld
  5. WebWork與Spring+Hibernate的整合
責(zé)任編輯:冰荷 來源: csdn
相關(guān)推薦

2009-09-28 13:39:01

Hibernate工作

2009-08-13 18:36:29

C#數(shù)組工作方式

2009-06-22 16:42:26

JSF的工作方式

2009-07-10 13:55:48

Swing控件

2010-07-22 09:01:02

SQL Server鏡

2010-01-25 14:57:49

Android數(shù)據(jù)庫

2010-08-06 10:41:59

Flex命名空間

2016-10-27 17:49:07

群暉群暉科技NAS

2009-02-25 10:52:00

路由器原理工作方式協(xié)議

2024-03-27 14:51:23

2012-11-27 09:12:39

思杰移動云計算

2023-03-20 15:34:00

ChatGPT人工智能

2011-07-14 13:20:49

Servlet過濾器

2021-12-07 10:18:06

首席信息官技術(shù)發(fā)展企業(yè)管理者

2011-11-04 09:45:43

Siri

2011-11-04 09:52:24

Siri云計算蘋果

2010-03-25 17:55:12

CentOS界面

2013-03-01 10:23:17

2022-08-29 20:06:04

樓宇自控物聯(lián)網(wǎng)

2024-04-15 08:00:00

生成式AI人力資源ChatGPT
點贊
收藏

51CTO技術(shù)棧公眾號