項目實踐二

需要理清一下了。過程比較複雜,出的問題也比較多。

這幾天主要做了一個簡單的增,刪,查,改的功能。

先把整個流程說下。
首先,進入一個可以增加記錄(也是修改記錄)的JSP頁面1,上面有輸入框,有保存按鈕(其實這個按鈕有個功能的作用的,後面再說)。當填寫完後,點擊保存,在JSP頁面會在點擊按鈕上做個onclick的js,用它可以來判斷這次點擊保存是增加新記錄,還是更新記錄。

其次,還有一個頁面是用於查詢和刪除的JSP頁面2。它主要是一個列表框。當進入這個頁面前(在spring的MVC中是通過xxxAction的某個方法返回一個視圖),已經把這張表的所有對象都已經讀出來了,保存在一個LIST對象中,則在JSP2中,用迭代的方法讀取出各條記錄,並顯示出來。
刪除功能一般做在列表中,用一個js來提交點擊刪除字段的請求。一般就是一個οnclick=“jsFunc”,一般刪除都是通過查找某個ID的記錄,再刪除。所以必須給deleteXXXXAction傳遞一個ID值。οnclick="delProcess('<[color=red]c:out[/color] value="${processe.serialid}"></c:out>')">。注意這裏是c:out,不是c:set。

同樣,要修改時,可以雙擊某行記錄,彈出修改頁面,在這裏也就是JSP1。兩個方面的問題需要注意。
1。要想達到雙擊一行都可以修改的效果。必須在<tr >中寫,而不是在某個<td>中寫。要象這樣

<tr onDblClick="modProcess('<c:out value="${processe.serialid}"></c:out>')">
<td>..</td>
<td>..</td>
<td>..</td>
</tr>

其中參數的道理同刪除。

2。關於修改頁面。當我們進入修改頁面的時候,頁面當中的輸入框必須保存我點擊時記錄的值。spring的input標籤很容易就做到了這一點。

詳細過程如下:
首先,雙擊記錄時,js帶着Id值,由<spring:hidden path="serialId" />來設定。提交給一個action的一個方法,比如modifyAction。
在這個方法中要做的事情就是根據這個id在數據庫中找到相應的記錄,並保存在這個方法的一個參數xxxForm中,並通過return mav,把屬性值都保存在form中。

接着,到了JSP頁面。有個<spring:form name="xxxForm" commandName="xxxxForm"...>這個commandName的值必須和返回的“把屬性值都保存在form中”的xxxform名字相同。

在要顯示之前值的text框框內的地方,寫上
<spring:input path="processNm" />
其中這個path的值就是你要得到的xxxform的某個屬性值。

一切綁定就這樣完成了!
發佈了1 篇原創文章 · 獲贊 1 · 訪問量 1531
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章