日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Struts+WebWork簡單示例

用Struts開發(fā)都知道關(guān)于下載的Struts目錄下都apps目錄,這些都是例子,作為新手肯定把blank工程下的lib COPY 到自己工程的lib下。但初次接觸到Webwork的目錄,你也可能受到Struts目錄結(jié)構(gòu)的影響了。

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站與策劃設(shè)計(jì),解放網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:解放等地區(qū)。解放做網(wǎng)站價(jià)格咨詢:028-86922220

直接找到(webwork2.2.4)lwebapps下,感覺目錄結(jié)構(gòu)比2.1.7要好很多(作為一個(gè)Struts人員來說).發(fā)現(xiàn)了blank工程,到webapps下一看,怎么沒有l(wèi)ib。

打開blank/.classpath 打開,看到了具體的lib包,發(fā)現(xiàn)了原來lib都在webworks/lib下。終于看到了一個(gè)default的目錄,一高興,全部拷貝到自己lib下,不要以為這樣就結(jié)束了。還要把webwork/下的webwork.jar拷貝到自己工程的lib下,具體原因?yàn)槭裁捶珠_,有興趣的還是去官方網(wǎng)站看看項(xiàng)目介紹把。

總結(jié):配置環(huán)境來說不要以為是Struts老手就忽視察看Webwork文檔的環(huán)境搭配。往往這比較容易吃虧,當(dāng)自己做了一個(gè)小DEMO的時(shí)候才發(fā)現(xiàn),lib下竟然少包。。還是從文檔***頁慢慢來的好。

DEMO開始

做小的Struts+WebWork德DEMO當(dāng)然要從輸入到輸出結(jié)果比較好了。具體功能如下:就是一個(gè)值從一個(gè)頁面?zhèn)鞯搅硪粋€(gè)頁面。

***步

老生常談的web.xml

xml 代碼

 
 
 
  1. ﹤filter﹥
  2. ﹤filter-name﹥webwork﹤/filter-name﹥
  3. ﹤filter-class﹥
  4. com.opensymphony.webwork.dispatcher.FilterDispatcher
  5. ﹤/filter-class﹥
  6. ﹤/filter﹥
  7. ﹤filter-mapping﹥
  8. ﹤filter-name﹥webwork﹤/filter-name﹥
  9. ﹤url-pattern﹥/*﹤/url-pattern﹥
  10. ﹤/filter-mapping﹥
  11. ﹤listener﹥
  12. ﹤listener-class﹥
  13. org.springframework.web.context.ContextLoaderListener
  14. ﹤/listener-class﹥
  15. ﹤/listener﹥

按照Struts思維,應(yīng)該配置一個(gè)Servlet,但是看到WEBWORK2.2.4是filter取代了Servlet。這個(gè)是因?yàn)橐С諥JAX,在2.1中還是Servelt。***的webwork ioc推薦的是spring 。所以Struts+WebWork中有了spring監(jiān)聽器的配置。

第二步

index.jsp

java 代碼

憑著Struts經(jīng)驗(yàn)想迅速體驗(yàn)下WW的標(biāo)簽。

ActionForm。

Webwork是怎樣處理的呢,往下看。

第三步:

配置類似于struts-config.xml的文件。終于在ww的例子中WEB-INF/classes/目錄下,找到了兩個(gè)配置文件webwork.property和xwork.xml。有兩個(gè)竟然。還是先看看xwork.xml把。一看如下:

xml 代碼

 
 
 
  1. ﹤xwork﹥   
  2. ﹤include file="webwork-default.xml"/﹥   
  3. ﹤package name="default" extends="webwork-default"﹥   
  4. ﹤default-action-ref name="home" /﹥   
  5. ﹤action name="home" 
  6. class="com.opensymphony.webwork.example.HomeAction"﹥   
  7. ﹤result﹥/WEB-INF/pages/home.jspresult﹥   
  8. action﹥   
  9. ﹤/package﹥   
  10. ﹤/xwork﹥   

其實(shí)作為Struts+WebWork簡單例子可以只要考慮 的配置就好,和STRUTS怎么說也差不多(其實(shí)差的也不少了)但是這個(gè)name并不是Struts里的ActionForm。WW根本沒有那個(gè)東西,這也是優(yōu)勢。這個(gè)name相當(dāng)于struts里action標(biāo)簽里的path屬性 class相當(dāng)于type了,但是注意WW的name 是不能有/。。。但是如果Struts少了的話,就是致命的了。看來result和forward基本也一樣了。

根據(jù)自己的程序xwork.xml如下:

xml 代碼

 
 
 
  1. ﹤action name="test" class="
  2. com.yuanfeng.web.action.Testaction"﹥   
  3. ﹤result name="success"﹥/WEB-INF/pages/result.jsp 
  4. ﹤/result﹥   
  5. ﹤action﹥﹤/action﹥ 

要放到web-inf/classes下,其實(shí)就是必須放在classpath下。第四步:

來看看Testaction這個(gè)類

java 代碼

 
 
 
  1. public class Testaction extends ActionSupport{
  2. UserInfo userInfo;
  3. public String execute() throws Exception { 
  4. System.out.println("UserInfo = "+userInfo.getUsername());
  5. Map session = ActionContext.getContext().getSession();
  6. session.put("user", userInfo);
  7. return SUCCESS;
  8. }
  9. public UserInfo getUserInfo() {
  10. return userInfo;
  11. }
  12. public void setUserInfo(UserInfo userInfo) {
  13. this.userInfo = userInfo;
  14. }
  15. }

UserInfo它其實(shí)就是包含用戶信息的一個(gè)set/get方法的類,并沒有像ActionForm依賴Struts。

這樣處理的好處還是很多的。起碼不用兩個(gè)類似的對象互相轉(zhuǎn)換了(bean To Form or From To bean)。

再看看execute方法。

OH YEAR終于沒有那惡心的四大參數(shù)了,但怎么獲取這些參數(shù)呢。

通過ActionContext類來獲得。

PS:如果你少lib/下少包,現(xiàn)在倒入會(huì)有災(zāi)難性后果,classes被clear,你的配置文件都消失了。!

郁悶吧。還是把它們放到src下保險(xiǎn),Struts+WebWork簡單Demo運(yùn)行成功,得到了username。


分享題目:Struts+WebWork簡單示例
標(biāo)題網(wǎng)址:http://www.5511xx.com/article/dpdisce.html