jsp資料庫下拉框
Ⅰ jsp如何將資料庫中的內容顯示到下拉列表中
就JSP+Servlet的做法來談:
用javabean(只包含若干個屬性以及Setter和getter方法的類)來封裝所要提取的數據(javabean里一個屬性對應資料庫里的一個欄位),此層可被稱為M層,用一個類專門做資料庫連接再用一個類專門做資料庫數據提取此層被稱作DAO層它也屬於M層,最後用一個Servlet類把取出來並封裝好的數據填充進request或session對象里,此Servlet稱為C層,最後只需要在JSP頁面指定的HTML標簽里用一個循環從request或session中取出已封裝好的數據對象,再用一個循環遍歷這個對象的所有屬性就可以了,這個JSP頁面就被稱作V層。所謂不能在頁面上操作資料庫的意思是只能在JSP頁面通過request對象提取並顯示數據,而不能用JDBC做資料庫連接和從資料庫提取數據的操作。
Ⅱ jsp中下拉框怎麼設置可寫
直接是不行的,但你可以把下拉框的東西放資料庫里,然後用text提交你要寫入的內容,然後顯示在下拉框中,這樣就行了
Ⅲ jsp下拉框動態顯示資料庫的數據並選擇某一個選項並停留在該選項
進到頁面時,將上次你保存的數據取出來傳過來。然後在加入判斷 用這個值和下拉框的option value做比較 相同就設為selected 或者用jquery實現。
$(".selector").val("選中的值");
Ⅳ JSP中怎樣將資料庫中的數據顯示在網頁的下拉菜單中
這是我自己以前做的,使用javaBean
<jsp:useBean id="userBean" scope="page" class="selfteachweb.conn"/>
把資料庫里的數據在跳轉下拉菜單中顯示
<form name="teachcourse">
<select name="courselist" onChange="MM_jumpMenu('self',this,0)">
<%
String sql="select CouName from Courses,Teachers where Teachers.NickName=Courses.NickName and Teachers.NickName='"+session.getAttribute("username")+"'";
ResultSet RS=userBean.executeQuery(sql);
while(RS.next()){
%>
<option value="courseteach.jsp" selected><%=RS.getString("CouName")%></option>
<%}
RS.close();
%>
</select>
</form>
把裡面的資料庫和需要跳轉的頁面改一下就OK了
Ⅳ JSP下拉框和資料庫問題
用一個笨辦法!
1.先查詢資料庫把ID綁定在下拉表中的ID屬性!
2.用javaScript選定當前下拉表的選中項也就是ID號!
3.在function中用windows.location進行頁面的跳轉(url重寫進行傳遞參數把ID號加上),一般用一個Servlet或另一個JSP充當控制器進行接收!在在控制器中用request接收傳遞過來的ID再去資料庫查詢名字
4.再在控制器中進行跳轉(url重寫傳遞名字)
5.在到JSP用隱式對象request接收名字參數放到Text或者textarea中!在此之前進行一下判斷!不然第一次載入要拋異常!因為沒有值!
這樣不是最好的辦法!刷新頁面次數教多!最好的辦法是AJAX!但是AJAX說起來挺麻煩的!你試著用我的方法做吧!
Ⅵ jsp 如何通過資料庫給下拉框賦值
我的採用的是javabena+jsp
一個javabean
()throwsException{//下拉框顯示課程信息
ArrayListlist=newArrayList();
try{
db.open();
ResultSetrs=db.select("select*fromCourseInfo");
while(rs.next()){
list.add(newCourseInfo(rs.getInt(1),rs.getString(2),rs.getString(3)));
}
}catch(Exceptione){
e.printStackTrace();
}finally{
db.close();
}
returnlist;
}
然後在jsp中調用
<tr><td>課程:<selectname="course">
<%try{
ArrayListlist=m.selectCourseInfo();
if(list.isEmpty()){
out.println("沒有數據顯示");
}
for(inti=0;i<list.size();i++){
CourseInfoc=(CourseInfo)list.get(i);%>
<option><%=c.getName()%></option>
<%}}
catch(Exceptione){}
%></select>
</td></tr>
這樣就可以動態的顯示了
Ⅶ JSP中如何將資料庫中的值放入下拉框中
<select name="stu.stu_teacher" id="stu.stu_teacher"/>
<option value="<s:property value='#session.student.stu_teacher'/>" selected><s:property value='#session.student.stu_teacher'/></option>
<s:iterator value="#session.teacher" id="teacher">
<option value="<s:property value='#teacher.teacher_name'/>"><s:property value='#teacher.teacher_name'/></option>
</s:iterator>
</select>
我用的s標簽,你改成c標簽試試
Ⅷ jsp 中將資料庫中數據 如何添加到二級聯動下拉框中
<html> <br> <head> <br> </head> <br> <body> <br> <script language="javascript"> <br> <!-- <br> //第一維:第一個下拉列表的值 <br> //第二維:表示下拉列表中看到的字元串 <br> //第三維:表示下拉列表中的值 <br> var subcat = new array(); <br> //如果大類的值是動態的,則可以通過資料庫中取出作如下設置 <br> //subcat[<%=count%>] = new array('<%=trim(rs("leemaid"))%>','<%=rs("leemaconte nt")%>','<%=rs("leemacontent")%>'); <br> subcat[0] = new array('1','電視機','=1') <br> subcat[1] = new array('1','電風扇','=2') <br> subcat[2] = new array('1','電飯煲','=3') <br> subcat[3] = new array('1','電炒鍋','=4') <br> subcat[4] = new array('1','電燈','=5') <br> subcat[5] = new array('1','電腦','=6') <br> subcat[6] = new array('1','電冰箱','=7') <br> subcat[7] = new array('1','洗衣機','=8') <br> subcat[8] = new array('1','微波爐','=9') <br> subcat[9] = new array('1','vcd影碟機','=1') <br> subcat[10] = new array('2','二極體','=11') <br> subcat[11] = new array('2','三極體','=12') <br> subcat[12] = new array('2','cmos集成塊','=13') <br> subcat[13] = new array('2','電阻','=14') <br> subcat[14] = new array('2','電容','=15') <br> subcat[15] = new array('2','整流二極體','=16') <br> subcat[16] = new array('2','整流橋','=17') <br> subcat[17] = new array('2','可控硅','=18') <br> subcat[18] = new array('2','電子槍','=19') <br> subcat[19] = new array('2','光敏二極體','=2') <br> function changeselect1(selectvalue) <br> { <br> document.form1.s2.length = 0;//初始化下拉列表 清空下拉數據 <br> //document.form1.s2.options[0] = new option('請選擇二級小類','');//給第一個值 <br> for (i=0; i<subcat.length; i++)//legth=2 <br> { <br> if (subcat[i][0] == selectvalue)//[0] [1] 第一列 第二列 <br> { <br> document.form1.s2.options[document.form1.s2.length] = new option(subcat[i][1], subcat[i][2]); <br> } <br> } <br> } <br> //--> <br> </script> <br> <form name="form1"> <br> 二級聯動: <br> <select name="s1" onchange="changeselect1(this.value)"> <br> <option>請選擇一級大類</option> <br> <option value="1">家用電器</option> <br> <option value="2">電子元器件</option> <br> </select> <br> <select name="s2" onchange="alert(this.value)"> <br> <option>請選擇二級小類</option> <br> </select> <br> </form> <br> </html>
Ⅸ JSP中下拉框是從資料庫中讀取的。當下拉框選擇是,後面的文本框顯示對應的信息,如何做最好有例子
本人用的php,其實思路應該是差不多的。
我用的是AJAX,對每次下拉框的onchange事件,作一次非同步請求,請求的當然就是伺服器的處理程序了(一般是查詢資料庫),獲取返回的json結果,然後再通過JS顯示在後面的文本框
下面是分類聯動選擇的部分JS代碼:
//子級category選擇
getChildCategory:function(p,c,g){
//$("#pArea").live('change',function(){
varparent_id=$("#"+p).val();
if(parent_id==0){
returnfalse;
//$("#"+c).hide();
//$("#"+g).hide();
}
$.ajax({
type:"POST",
url:"include/getNextCategory.php?type=child",
dataType:"json",
data:{"parent_id":parent_id},
success:function(json){
if(json.success==1){
//alert("這里能執行???");
//$("#"+c).show();
$("#"+c).html("");
$("#"+c).append(json.next_category);
//$("#"+c).get(0).selectedIndex=0;
$("#"+g).html("");
}else{
//alert("failed");
//$("#"+c).html("<option>其他</option>");
}
}
});
//alert(p_category+">"+c_category+">"+g_category);
$("#category").val(p_category+">"+c_category+">"+g_category);
},
後台程序也很簡單:
if($type=='child'){
$query="SELECTcid,nameFROMai_categoryWHEREpid='$pid'";
}
if($type=='grand'){
$query="SELECTcid,nameFROMai_categoryWHEREpid='$cid'";
}
$db->query($query);
$arr['next_category']="";
if($pid=='0'||$cid=='0'){
$arr['success']=0;
}
if($db->db_num_rows()>0){
$arr['success']=1;
while($row=$db->fetch_assoc()){
$arr['next_category'].="<optionvalue=".$row['cid'].">".$row['name']."</option>";
}
}else{
$arr['success']=0;
//echo"沒有查詢到子級區域";
}
echojson_encode($arr);
--本人技術比較菜,請見諒
Ⅹ jsp 下拉框從資料庫中如何取值
直接在頁面前面連接資料庫查詢出結果result,然後下面就直接result裡面取就可以了。
先聲明(拿oracle舉例):
<%!
String DBDRIVER = "oracle.jdbc.driver.OracleDriver" ;
String DBURL = "jdbc:oracle:thin:@XXX.XXX.XXX.XXX:1521:XXX" ;
String DBUSER = "XXX" ;
String DBPASSWORD= "XXX" ;
Connection con = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
%>
執行查詢:
<%
String sql = "select * from XXX" ;
try
{
Class.forName(DBDRIVER) ;
con = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
pstmt = con.prepareStatement(sql) ;
rs = pstmt.executeQuery() ;
%>
顯示的時候如下:
<%
while(rs.next())
{
i++ ;
int id=rs.getInt("id");
String title = rs.getString("admin") ;
String author = rs.getString("user") ;
%>
<td><%=admin%></td>
<td><%=user%></td>
大概代碼差不多這樣了,你看著湊湊