您好,登錄后才能下訂單哦!
本篇內容介紹了“WebWork工作方式是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
WebWork目前沒有集成很好的IDE工具,只能手動配置。可以在http://www.opensymphony.com/webwork/下載到***的WebWork開發包。
以Eclipse+webwork-2.2.4為例配置步驟如下:
1、創建web工程
2、拷貝WebWork的jar文件到web工程的lib目錄,必須的jar文件包括Webwork-2.2.4.jar和WebWork的lib目錄下的default目錄中的所有jar文件。
3、修改web.xml,添加WebWork過濾器,固定內容如下:
WebWork com.opensymphony.WebWork.dispatcher.FilterDispatcher WebWork /*
以上內容,WebWork包中提供了模板文件,可以直接拷貝過來修改一下即可。
模板文件路徑:Webwork-2.2.4\webapps\blank\src\webapp\WEB-INF\web.xml
4、在src目錄下創建xwork.xml文件(路徑和文件名均是固定寫法),內容如下:
/WEB-INF/pages/home.jsp
以上內容,WebWork工作方式中提供了模板文件,可以直接拷貝過來修改一下即可。
模板文件路徑:
Webwork-2.2.4\webapps\blank\src\webapp\WEB-INF\classes\xwork.xml
其中被包含的webwork-default.xml文件不要隨意修改(包括里面內容的順序),修改后WebWork可能會無法正常工作。
package標簽使得配置文件也可以分包存放(與代碼的包不同)。
action標簽的name屬性就是表單提交時使用的action的名字,class屬性代表處理請求的action類。
method屬性(可選)可以指定執行的方法名,這是一個非常好用的屬性,在Struts中每個邏輯處理單元都要單獨寫一個action類,這樣一個工程可能會有很多action類,而每個action只做一個處理,使用method屬性可以只寫一個action類,根據需要指定不同的方法處理請求即可。
result標簽指定action類執行完后轉向的顯示頁面。
result標簽也可以指定使用模板輸出顯示內容,如Freemarker或Velocity。
5、創建action類,需要手工指定實現com.opensymphony.xwork.Action接口。
在Struts中如果有表單,則對應表單需要有formbean,在WebWork中formbean則不是必須的,可以將表單提交的屬性作為變量,都寫到action類中,但必須為變量添加set和get方法,WebWork工作方式中使用類似Spring的注入功能實現變量的賦值。
action類也可以指定使用單獨的bean類實現類似formbean的功能,只需在action類中將此bean類的對象實例化好,并設置set和get方法即可。
如果不使用formbean則表單提交時表單元素的name屬性值要和action類中相應的變量名相同,如果使用formbean則表單元素的name屬性值為“bean類名.屬性名”。
com.opensymphony.xwork.Action接口中的execute方法并沒有request和response參數,而是將請求和響應與web容器剝離,單獨封裝起來,由WebWork核心控制器管理,所以在處理請求時使用的request或session都要從WebWork上下文中獲取。
execute方法返回的是一個字符串而不是像Struts一樣封裝的ActionMapping對象,返回的字符串根據xwork.xml文件中對應的action標簽中的result標簽找到指定的顯示頁面。
com.opensymphony.xwork.Action接口中定義了一些常用的常量用來表示頁面的轉向,常量的值與常量名相同。例如SUCCESS表示執行成功。WebWork默認的也是轉發而不是重定向。
最簡單的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; }
/*實現Action接口的execute方法,調用Model層實現業務邏輯*/
public String execute() throws Exception { Map session = ActionContext.getContext().getSession();
session.put("anyParam",getParam()); return SUCCESS;
//指定的顯示頁面在xwork.xml文件中設置 } }
6、至此基本的WebWork應用已經配置好了,創建Model層和View層實現業務邏輯即可。
WebWork的工作流程: WebWok還有一個可選的配置文件,文件名為webwork.properties,同樣是放在src目錄下。WebWork2.X在Tomcat5.5以上或Resin3可以正常運行,對中文支持不好,需要手動轉換編碼,可以添加如下配置信息:
webwork.locale=zh_CN webwork.i18n.encoding=GBK webwork中的action類缺省后綴是action,
也可以通過配置文件修改 webwork.action.extension=action 對webwork.properties文件詳細的配置說明可以參考: http://wiki.javascud.org/display/ww2cndoc/WebWork.properties
WebWork2.2.4以后就不再升級,已合并到Struts2中,后續版本只是打補丁而已。
Struts2的核心就是使用的WebWork,了解WebWork的工作方式可以輕松的過渡到Struts2。
“WebWork工作方式是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。