下面的下拉框是根據資料庫的資料進行綁定的,而不是在JSP中直接編寫的。(文章有些粗糙,但源碼都有。)
先看下效果
先說一下流程(個人認為):在編寫Java程式中,首先是通過JSP使用者界面将需要的條件資訊傳遞到servlet背景,servlet再通過service服務層,service服務層在傳遞資訊到Dao層。Dao層就連接配接資料庫将查詢資料出來,再傳回到vo(po)實體類中儲存資料,然後在service調用vo實體類中的資料傳回給servlet成。Servlet再傳回到JSP中。
下面看JSP頁面的代碼
這個是樣式代碼,主要有id與name就可以了
這個是JavaScript的代碼,紅框中的才是對應的功能代碼,因為我這個綁定下拉框是點選後在另外一個頁面綁定的。剛好這個事件是是同時可以用上的,然後我就把這個事件放在這裡了。
解釋一下代碼:
使用post送出(${ctx}是EL标簽的用法,因為Java中需要用到的是絕對路徑。)到對應的servlet方法中。為什麼拼接fun呢?,因為post是送出是送出到servlet中的dopost方法中的。fun是為了判斷servlet方法中是否有SelectComboBox方法。
EL标簽:
function(date):資料的參數。
這個就是給下拉框添加提示。Append就是添加的意思。(但是這句代碼,在最終的結果沒有效果。可能是被覆寫掉了,唯一能夠證明的是我太菜了)
JSON.parse的作用:将 JavaScript 對象表示法 (JSON) 字元串轉換為對象。
eval() 的作用:eval() 函數可計算某個字元串,并執行其中的的 JavaScript 代碼。
下面是背景代碼
這個是添加進來的包
添加包到項目中後,就可以在servlet層導包了。如果沒有就添加,就不能在項目中導包使用。
下面是servlet層的代碼。
VO(po)層實體類代碼,因為我們隻需要用到要到ID以及name兩個字段就夠了,是以就寫兩個就可以了
Common公共層
公共層的下拉框Dao,因為一個項目中不隻有一個下拉框要綁定,是以我給了一個公共的下拉框接口
Common公共層
公共層的下拉框service接口
Dao的接口層
Dao的實作層。
Service層接口代碼
實作Service接口層代碼