成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Struts框架SaveNewOrder Action

開發 后端
這里介紹Struts框架SaveNewOrder Action,這是一個典型的Struts Action;然而,注意這個action的異常配置。

學習Struts框架時,經常會遇到SaveNewOrder Action問題,這里將介紹SaveNewOrder Action問題的解決方法。

SaveNewOrder Action

示例應用的用戶接口層使用Struts框架。這兒我們將討論當為一個應用分層時和Struts相關的部分。讓我們從在struts-config.xml文件里檢查一個Action配置開始。

  1. type="com.meagle.action.SaveOrderAction"   
  2. name="OrderForm"   
  3. scope="request"   
  4. validate="true"   
  5. input="/NewOrder.jsp">   
  6. Save New Order   
  7.  
  8. path="/NewOrder.jsp"   
  9. scope="request"   
  10. type="com.meagle.exception.OrderException"/>   
  11.  
  12. path="/NewOrder.jsp"   
  13. scope="request"   
  14. type="com.   
  15. meagle.   
  16. exception.   
  17. OrderMinimumAmountException"/>  

SaveNewOrder Action被用來持久化一個用戶從用戶接口層提交的訂單。這是一個典型的Struts Action;然而,注意這個action的異常配置。這些Exceptions為我們的業務服務對象也在Spring 配置文件(applicationContext-hibernate.xml)中配置了(在transactionAttributes屬性里)。當這些異常被從業務層擲出我們能在我們的用戶接口里恰當的處理它們。第一個異常,OrderException,當在持久層里保存訂單對象失敗時將被這個action使用。這將引起事務回滾和通過業務對象傳遞把異常傳回給Struts層。OrderMinimumAmountException,在業務對象邏輯里的一個事務因為提交的訂單達不到最小訂單數量而失敗也將被處理。然后,事務將回滾和這個異常能被用戶接口層恰當的處理。

最后一個連接步驟是使我們的表現層和我們的業務層交互。這已經通過使用前面討論的服務定位器來完成了。服務層充當一個到我們的業務邏輯和持久層的接口。這兒是Struts框架中的SaveNewOrder Action可能怎樣使用一個服務定位器調用一個業務方法:

  1. public ActionForward execute( ActionMapping mapping, ActionForm form, 
    javax.servlet.http.HttpServletRequest request,
    javax.servlet.http.HttpServletResponse response)   
  2. throws java.lang.Exception {   
  3.  
  4. OrderForm oForm = (OrderForm) form;   
  5.  
  6. // Use the form to build an Order object that   
  7. // can be saved in the persistence layer.   
  8. // See the full source code in the sample app.   
  9.  
  10. // Obtain the wired business service object   
  11. // from the service locator configuration   
  12. // in BaseAction.   
  13. // Delegate the save to the service layer and   
  14. // further upstream to save the Order object.   
  15. getOrderService().saveNewOrder(order);   
  16.  
  17. oForm.setOrder(order);   
  18.  
  19. ActionMessages messages = new ActionMessages();   
  20. messages.add(ActionMessages.GLOBAL_MESSAGE, 
    new ActionMessage("message.order.saved.successfully"));   
  21.  
  22. saveMessages(request, messages);   
  23.  
  24. return mapping.findForward("success");   
  25. }  

【編輯推薦】

  1. 詳細概述Hibernate Struts區別
  2. Struts 2:一流的AJAX支持
  3. 學習比較Struts2和Struts1:Struts2完勝
  4. 如何解決Struts Hibernate的整合問題
  5. 淺析Hibernate Struts分頁
責任編輯:佚名 來源: IT168
相關推薦

2009-09-29 11:09:57

服務定位器Struts Acti

2011-08-11 13:02:43

Struts2Junit

2009-06-25 15:46:19

HttpServletStruts2教程Action類

2009-06-04 10:33:10

struts vali框架

2009-06-08 16:45:00

精通StrutsTiles

2009-02-01 10:05:00

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-04 07:55:08

Struts框架簡介Struts

2009-06-04 09:11:34

學習strutsstruts框架

2009-06-04 11:08:32

struts2 val框架

2015-05-05 11:06:02

JavaJava框架Struts+Hibe

2009-06-18 11:37:24

Struts2中ForJavaScript

2011-03-30 09:03:57

struts2

2009-06-25 15:37:12

Struts2教程Validation框

2009-06-03 15:38:37

Struts框架RBAC

2009-06-05 09:58:20

struts2驗證用戶注冊

2009-06-19 16:05:39

時間類型Struts

2010-01-08 12:03:42

ibmdwREST

2010-04-20 09:14:33

Struts

2009-02-04 13:13:03

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线一区| 麻豆一区二区三区精品视频 | 日日摸夜夜添夜夜添特色大片 | a级毛片基地 | 99精品99久久久久久宅男 | 午夜私人影院 | www.国产精 | 91精品国产色综合久久不卡蜜臀 | 久久99精品久久久久久国产越南 | 成人在线观看免费观看 | 免费精品久久久久久中文字幕 | 中文字幕二区 | 99爱国产| 超碰在线免费av | 免费一级片 | 亚洲欧美日韩电影 | 亚洲精品欧美精品 | 一区二区高清在线观看 | 中文字幕 欧美 日韩 | 91精品国产色综合久久不卡98 | 欧美一级免费 | 91久久精品日日躁夜夜躁欧美 | 欧美综合国产精品久久丁香 | 大象一区 | 久久久久久国产免费视网址 | 国产精品毛片一区二区三区 | 欧美激情一区二区三区 | 国产精品日韩一区 | 一级毛片免费 | 人人干视频在线 | 亚洲成人精品免费 | 中文字幕精品一区二区三区精品 | 99reav | 夜夜操av | 亚洲精品二区 | 超碰av免费 | 日韩精品一区二区三区在线观看 | 欧美激情在线精品一区二区三区 | 久久成人免费 | 亚洲国产精品一区 | 欧美一区2区三区4区公司 |