JavaEE教案 (25)_第1頁(yè)
JavaEE教案 (25)_第2頁(yè)
JavaEE教案 (25)_第3頁(yè)
JavaEE教案 (25)_第4頁(yè)
JavaEE教案 (25)_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、重慶正大軟件學(xué)院軟件系MVC框架程序設(shè)計(jì)電子教案重慶正大軟件職業(yè)技術(shù)學(xué)院教案(項(xiàng)目類)授課對(duì)象系 別軟件系本次課學(xué)時(shí)4學(xué)時(shí)年級(jí)班次大二章節(jié)題目第7章 項(xiàng)目編碼目的要求(含技能要求)理解進(jìn)貨管理模塊進(jìn)貨單修改功能的業(yè)務(wù)流程理解進(jìn)貨管理模塊進(jìn)貨單修改功能的程序流程通過(guò)練習(xí)理解SSH的框架組件及運(yùn)行流程本節(jié)重點(diǎn)理解SSH的框架組件及運(yùn)行流程本節(jié)難點(diǎn)理解進(jìn)貨管理模塊進(jìn)貨單修改功能的業(yè)務(wù)流程教學(xué)方法項(xiàng)目教學(xué)法教學(xué)用具機(jī)房、屏幕廣播問(wèn)題引入通過(guò)第六章的詳細(xì)設(shè)計(jì)文檔,從而引出本次課程。難點(diǎn)與重點(diǎn)講解方法引導(dǎo)、分析、講解、實(shí)作演示本次課小結(jié)課程小結(jié)教后禮記討論、思考題、作業(yè)(含實(shí)訓(xùn)作業(yè))完成本次課的課堂任務(wù)填

2、寫(xiě)實(shí)驗(yàn)報(bào)告任務(wù)介紹(5分鐘)根據(jù)需求分析和設(shè)計(jì)利用SSH框架實(shí)現(xiàn)進(jìn)貨管理模塊進(jìn)貨單修改功能。在進(jìn)貨單查詢界面選擇一個(gè)進(jìn)貨單查詢頁(yè)面進(jìn)行修改,跳轉(zhuǎn)到進(jìn)貨單修改頁(yè)面(如圖7.9-a所示)。用戶貨物名稱、進(jìn)貨數(shù)量、進(jìn)貨日期、經(jīng)手人、供應(yīng)商,在提交先驗(yàn)證輸入信息的合法性(注:?jiǎn)T工編號(hào)不能修改)。成功則提交進(jìn)貨單信息,經(jīng)過(guò)后臺(tái)程序處理,修改成功則顯示操作成功頁(yè)面(如圖7.9-b所示),修改失敗則返回系統(tǒng)異常頁(yè)面(如圖7.9-c所示)。圖7.9-a 修改頁(yè)面圖7.9-b 操作成功頁(yè)面圖7.9-c 系統(tǒng)異常頁(yè)面任務(wù)解析(50-60分鐘)1. 前臺(tái)進(jìn)貨單修改頁(yè)面updateStockin.jsp編寫(xiě)2. 后臺(tái)

3、業(yè)務(wù)控制器(action類)StockinAction中進(jìn)貨單修改編寫(xiě)3. 員工檔案查詢struts文件的配置4. 后臺(tái)業(yè)務(wù)處理層接口IStockinService進(jìn)貨單修改編寫(xiě)5. 后臺(tái)業(yè)務(wù)處理層實(shí)現(xiàn)類StockinService進(jìn)貨單修改編寫(xiě)6. 后臺(tái)持久化層接口IStockinDao進(jìn)貨單修改編寫(xiě)7. 后臺(tái)持久化層實(shí)現(xiàn)類StockinDao進(jìn)貨單修改編寫(xiě)8. Spirng配置文件applicationContext_beans.xml的配置詳細(xì)步驟1 前臺(tái)進(jìn)貨單修改頁(yè)面updateStockin.jsp編寫(xiě)前臺(tái)進(jìn)貨單修改頁(yè)面updateStockin.jsp編寫(xiě),其核心代碼如下:<

4、head><base href="<%=basePath%>" /><sx:head extraLocales="en-us" /><title>進(jìn)貨單修改</title><link rel="stylesheet" href="css/main.css" type="text/css" /><script language="javascript" src="script/main

5、.js"></script><script type='text/javascript' src='dwr/interface/stockinAction.js'></script><script type='text/javascript' src='dwr/engine.js'></script><script type='text/javascript' src='dwr/util.js'></scr

6、ipt></head><body><script type="text/javascript">var textPrice;var textMoney;var textAmount;var hiddenPrice;var hiddenMoney;var textCode;var textMerchandise;var codeChk=false;function init() textPrice = document.getElementById("price");textCode = document.getE

7、lementById("code");textMoney = document.getElementById("money");textAmount = document.getElementById("amount");textMerchandise = document.getElementById("merchandise");hiddenPrice = document.getElementById("hiddenPrice");hiddenMoney = document.getEle

8、mentById("hiddenMoney");textCode.focus();function out_merchandise() var chk = false;if(trimString(textMerchandise.value)!='')stockinAction.findMerchandisePriceById(textMerchandise.value,showMerchandisePrice);show_message("msg_merchandise","1",'輸入正確!');ch

9、k = true; else show_message("msg_merchandise","0",'貨物名稱不能為空!');return chk;function showMerchandisePrice(price) textPrice.value = price;hiddenPrice.value = price;var exp = /d/;if(!isNaN(price)&&(!exp.test(textAmount.value)textMoney.value = textAmount.value * price;

10、hiddenMoney.value = textAmount.value * price;function out_amount() var chk = false;var exp = /d/;if (!exp.test(textAmount.value) && textAmount.value>0 && textAmount.value<999)textMoney.value = textAmount.value * textPrice.value;hiddenMoney.value = textAmount.value * textPrice.v

11、alue;show_message("msg_amount","1",'輸入正確!');chk = true; else show_message('msg_amount', '0', '進(jìn)貨數(shù)量必須輸入大于零小于999的整型數(shù)字形式');return chk;function formSubmit() var chk = false;var chkRetMerchandise = out_merchandise();var chkRetAmount = out_amount();var c

12、hkRetStockdate=out_pickerDate('stockdate','msg_stockdate','進(jìn)貨日期不能為空!');var chkRetEmployee = out_chkEmpty('employee','msg_employee','經(jīng)手人不能為空!');var chkRetClient = out_chkEmpty('client', 'msg_client', '供應(yīng)商不能為空!');if (chkRetMerchan

13、dise && chkRetAmount && chkRetEmployee && chkRetClient && chkRetStockdate) chk = true;return chk;dojo.event.topic.subscribe("/value",function(textEntered,date,widget)out_pickerDate('stockdate','msg_stockdate','進(jìn)貨日期不能為空!'););window.onl

14、oad = init;</script><s:form action="stockinAction" method="post" theme="simple" onsubmit="return formSubmit();"><s:hidden name="stockin.price" id="hiddenPrice"></s:hidden> <s:hidden name="stockin.money"

15、id="hiddenMoney"></s:hidden><s:hidden name="stockin.id"></s:hidden><s:hidden name="stockin.code"></s:hidden><p></p><p><font style="font-size: 10pt;">進(jìn)貨管理->進(jìn)貨單->修改</font></p><p><

16、;/p><table border="0" cellpadding="1" cellspacing="1" width="95%"><tr><td align="right" width="7%" nowrap="true">進(jìn)貨單編號(hào)</td><td width="16%"> <s:textfield name="stockin.code"cs

17、sClass="TextInput" disabled="true"></s:textfield> </td><td align="right" width="7%" nowrap="true">貨物名稱</td> <td width="16%"><s:select list="merchandises" name="stockin.merchandise.id"

18、listKey="id" listValue="name" emptyOption="true" theme="simple" onFocus="show_message('msg_merchandise','2','請(qǐng)選擇貨物名稱')" onBlur="out_merchandise()" id="merchandise"></s:select> <DIV style="D

19、ISPLAY: show" id="msg_merchandise" class="box_div_right">&nbsp;</DIV></td><td align="right" width="6%">進(jìn)貨數(shù)量</td><td width="16%"><s:textfield name="stockin.amount" cssClass="TextInput" i

20、d="amount" onFocus="show_message('msg_amount','2','請(qǐng)輸入進(jìn)貨數(shù)量')" onBlur="out_amount()"></s:textfield> <DIV style="DISPLAY: show" id="msg_amount" class="box_div_right">&nbsp;</DIV></td> <

21、;td width="6%">&nbsp;</td> </tr><tr><td align="right" width="7%" nowrap="true">進(jìn)貨日期</td><td width="16%"> <sx:datetimepicker label="" name="stockin.stockindate" displayFormat="yyyy

22、-MM-dd" language="en-us" type="date" id="stockdate" required="true" valueNotifyTopics="/value" /> <DIV style="DISPLAY: show" id="msg_stockdate" class="box_div_right">&nbsp;</DIV> </td><td

23、 align="right" width="7%" nowrap="true">經(jīng)手人</td><td width="16%"><s:select list="employees" name="stockin.employee.id" listKey="id" listValue="name" emptyOption="true" theme="simple"

24、id="employee" onFocus="show_message('msg_employee','2','請(qǐng)選擇經(jīng)手人名稱!')" onBlur="out_chkEmpty('employee','msg_employee','經(jīng)手人不能為空!')"></s:select> <DIV style="DISPLAY: show" id="msg_employee" clas

25、s="box_div_right">&nbsp;</DIV></td> <td align="right">供應(yīng)商</td> <td><s:select list="clients" name="stockin.client.id" listKey="id" listValue="name" emptyOption="true" theme="simple"

26、 id="client" onFocus="show_message('msg_client','2','請(qǐng)選擇供應(yīng)商名稱!')" onBlur="out_chkEmpty('client','msg_client','供應(yīng)商不能為空!')"></s:select> <DIV style="DISPLAY: show" id="msg_client" class="b

27、ox_div_right">&nbsp;</DIV></td> <td>&nbsp;</td></tr><tr><td align="right" width="7%" nowrap="true">貨物單價(jià)(元)</td> <td width="16%"> <s:textfield name="stockin.price" cssClass="

28、;TextInput" disabled="true" id="price"></s:textfield> </td><td align="right" width="7%" nowrap="true">貨物金額(元)</td><td width="16%"><s:textfield name="stockin.money" cssClass="TextInput&

29、quot; id="money" disabled="true"></s:textfield></td> <td align="right">&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td></tr></table><p></p><div style="margin-left: 30px; margin-rig

30、ht: 0px"><table border="0" cellpadding="0" cellspacing="0" width="95%"><tr> <td width="10%"> <s:submit value="保存" cssClass="BtnAction" method="updateStockin" ></s:submit> </td>

31、 <td width="10%"> <input type="button" class="BtnAction" value="返回" onClick="history.go(-1);"> </td> <td width="80%">&nbsp;</td> </tr></table></div></s:form></body>2 后臺(tái)業(yè)務(wù)控制器(ac

32、tion類)StockinAction中進(jìn)貨單修改編寫(xiě)/進(jìn)貨單更新public String updateStockin() stockinService.updateStockin(stockin);finish_Url = "stockinAction!findStockin.action"return "finish"3 員工檔案查詢struts文件的配置員工檔案查詢struts文件的配置請(qǐng)參見(jiàn)任務(wù)解析的相關(guān)內(nèi)容。4 后臺(tái)業(yè)務(wù)處理層接口IStockinService進(jìn)貨單修改編寫(xiě)在IStockinService接口中添加進(jìn)貨單修改方法,關(guān)鍵代碼如下

33、:/進(jìn)貨單保存public void updateStockin(Stockin stockin);5 后臺(tái)業(yè)務(wù)處理層實(shí)現(xiàn)類StockinService進(jìn)貨單修改編寫(xiě)在StockinService中實(shí)現(xiàn)IStockinService中的進(jìn)貨單保存方法,關(guān)鍵代碼如下:public void updateStockin(Stockin stockin) stockinDao.updateStockin(stockin);6 后臺(tái)持久化層接口IStockinDao進(jìn)貨單修改編寫(xiě)在IStockinDao接口中添加進(jìn)貨單修改方法,關(guān)鍵代碼如下:/進(jìn)貨單更新public void updateStocki

34、n(Stockin stockin);7 后臺(tái)持久化層實(shí)現(xiàn)類StockinDao進(jìn)貨單修改編寫(xiě)在StockinDao中加入進(jìn)貨單修改方法,關(guān)鍵代碼代碼如下:/進(jìn)貨單更新public void updateStockin(Stockin stockin) / 構(gòu)造客戶檔案查詢條件Client client = new Client();client.setId(stockin.getClient().getId();/ 構(gòu)造員工檔案查詢條件Employee employee = new Employee();employee.setId(stockin.getEmployee().getId()

35、;/ 構(gòu)造商品檔案查詢條件Merchandise merchandise = new Merchandise();merchandise.setId(stockin.getMerchandise().getId();Integer cid = stockin.getId();HibernateTemplate hibernateTemplate=this.getHibernateTemplate();/ 載入已經(jīng)被持久化了的對(duì)象然后再進(jìn)行修改Stockin perstStockin = (Stockin) hibernateTemplate.load(Stockin.class,Integer

36、.valueOf(cid);perstStockin.setCode(stockin.getCode();perstStockin.setAmount(stockin.getAmount();perstStockin.setMoney(stockin.getMoney();perstStockin.setClient(clientDao.findClient(client).get(0);perstStockin.setEmployee(employeeDao.findEmployee(employee).get(0);perstStockin.setMerchandise(merchandi

37、seDao.findMerchandise(merchandise).get(0);hibernateTemplate.update(perstStockin);8 Spirng配置文件applicationContext_beans.xml中員工檔案查詢的配置配置文件的關(guān)鍵代碼請(qǐng)參見(jiàn)任務(wù)解析相關(guān)內(nèi)容根據(jù)任務(wù)提出問(wèn)題(45-55分鐘)l 進(jìn)貨單管理進(jìn)貨單修改功能的業(yè)務(wù)流程?l 進(jìn)貨單管理進(jìn)貨單修改功能的程序流程?l 進(jìn)貨單管理進(jìn)貨單修改功能的UI設(shè)計(jì)?l 進(jìn)貨單管理進(jìn)貨單修改功能的控制層設(shè)計(jì)?l 進(jìn)貨單管理進(jìn)貨單修改功能的模型層設(shè)計(jì)?l 進(jìn)貨單管理進(jìn)貨單修改功能的相關(guān)配置?問(wèn)題解析(45-55

38、分鐘)1. 進(jìn)貨單管理進(jìn)貨單修改功能的業(yè)務(wù)流程進(jìn)貨單管理進(jìn)貨單修改功能的業(yè)務(wù)流程如圖7.9-d所示。圖7.9-d 進(jìn)貨單修改功能業(yè)務(wù)流程2. 進(jìn)貨單管理進(jìn)貨單修改功能的程序流程?進(jìn)貨單管理進(jìn)貨單修改功能的程序流程(如圖7.9-f所示)。圖7.9-f 進(jìn)貨單修改功能程序流程3. 進(jìn)貨單管理進(jìn)貨單修改功能的UI設(shè)計(jì)UI頁(yè)面文件列表及存放地址,如表7.9-g所示。表7.9-g 進(jìn)貨單管理進(jìn)貨單修改功能的UI頁(yè)面文件列表及存放地址序號(hào)項(xiàng)目描述存放路徑1.updateStockin.jsp修改頁(yè)面WebRoot (或WebContent)modulsstockUI頁(yè)面原型:進(jìn)貨單管理進(jìn)貨單修改頁(yè)面如圖7

39、.9-h所示。7.9-h 進(jìn)貨單修改頁(yè)面原型UI頁(yè)面校驗(yàn):修改頁(yè)面如表7.9-i、修改出錯(cuò)頁(yè)面無(wú)。表7.9-i 修改進(jìn)貨單頁(yè)面校驗(yàn)No.項(xiàng)目必輸元素類型初始值頁(yè)面校驗(yàn)說(shuō)明數(shù)據(jù)對(duì)象1.進(jìn)貨單編號(hào)是字符串待修改值有進(jìn)貨單編號(hào)不能為空且不能超過(guò)11位長(zhǎng)度!Stockin.code2.貨物名稱是字符串待修改值有選擇已有貨物Stockin.merchandise3.進(jìn)貨數(shù)量是整型數(shù)字待修改值有Stockin.amount4.進(jìn)貨日期是日期待修改值有Stockin.stockindate5.經(jīng)手人是字符串待修改值有Stockin.employee6.供應(yīng)商是字符串待修改值有Stockin. client7

40、.貨物單價(jià)否數(shù)字待修改值有Stockin.price8.貨物金額否數(shù)字待修改值有Stockin.money4. 進(jìn)貨單管理進(jìn)貨單修改功能的控制層設(shè)計(jì)設(shè)計(jì)內(nèi)容如表7.9-j。表7.9-j進(jìn)貨單管理進(jìn)貨單修改的控制層設(shè)計(jì)類名存放地址方法名描述StockinAction.javacom.zds.slms.actionupdateStockin進(jìn)貨單修改5. 進(jìn)貨單管理進(jìn)貨單修改功能的模型層設(shè)計(jì)設(shè)計(jì)內(nèi)容如表7.9-k。表7.9-k進(jìn)貨單管理進(jìn)貨單修改功能的模型層設(shè)計(jì)類名存放地址方法名描述StockinService.javacom.zds.slms.serviceupdateStockin進(jìn)貨單修改S

41、tockinDao.javacom.zds.slms.daoupdateStockin進(jìn)貨單修改6. 進(jìn)貨單修改功能的相關(guān)配置設(shè)計(jì)內(nèi)容如表7.9-l。表7.9-l 進(jìn)貨單修改功能的相關(guān)配置項(xiàng)目描述路徑工程下src/applicationContext_beans.xml內(nèi)容<!- 進(jìn)貨單配置 -><bean name="stockinDao" class="com.zds.slms.dao.StockinDao"><property name="sessionFactory" ref="sess

42、ionFactory"></property><property name="clientDao" ref="clientDao"></property><property name="employeeDao" ref="employeeDao"></property><property name="merchandiseDao" ref="merchandiseDao"></property></bean><bean name="stockinService" class="com.zds.slms.service.StockinService"><property name="stockinDao" ref="stockinDao"></property></bean><bean name="stockinAction"

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論