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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Struts框架SaveNewOrderAction

學(xué)習(xí)Struts框架時(shí),經(jīng)常會(huì)遇到SaveNewOrder Action問(wèn)題,這里將介紹SaveNewOrder Action問(wèn)題的解決方法。

SaveNewOrder Action

示例應(yīng)用的用戶接口層使用Struts框架。這兒我們將討論當(dāng)為一個(gè)應(yīng)用分層時(shí)和Struts相關(guān)的部分。讓我們從在struts-config.xml文件里檢查一個(gè)Action配置開(kāi)始。

 
 
 
  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被用來(lái)持久化一個(gè)用戶從用戶接口層提交的訂單。這是一個(gè)典型的Struts Action;然而,注意這個(gè)action的異常配置。這些Exceptions為我們的業(yè)務(wù)服務(wù)對(duì)象也在Spring 配置文件(applicationContext-hibernate.xml)中配置了(在transactionAttributes屬性里)。當(dāng)這些異常被從業(yè)務(wù)層擲出我們能在我們的用戶接口里恰當(dāng)?shù)奶幚硭鼈儭5谝粋€(gè)異常,OrderException,當(dāng)在持久層里保存訂單對(duì)象失敗時(shí)將被這個(gè)action使用。這將引起事務(wù)回滾和通過(guò)業(yè)務(wù)對(duì)象傳遞把異常傳回給Struts層。OrderMinimumAmountException,在業(yè)務(wù)對(duì)象邏輯里的一個(gè)事務(wù)因?yàn)樘峤坏挠唵芜_(dá)不到最小訂單數(shù)量而失敗也將被處理。然后,事務(wù)將回滾和這個(gè)異常能被用戶接口層恰當(dāng)?shù)奶幚怼?/p>

最后一個(gè)連接步驟是使我們的表現(xiàn)層和我們的業(yè)務(wù)層交互。這已經(jīng)通過(guò)使用前面討論的服務(wù)定位器來(lái)完成了。服務(wù)層充當(dāng)一個(gè)到我們的業(yè)務(wù)邏輯和持久層的接口。這兒是Struts框架中的SaveNewOrder Action可能怎樣使用一個(gè)服務(wù)定位器調(diào)用一個(gè)業(yè)務(wù)方法:

 
 
 
  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. }  

文章題目:Struts框架SaveNewOrderAction
鏈接地址:http://m.5511xx.com/article/dhgdodd.html