jsp下拉框從數據庫獲取內容,jsp下拉框從數據庫獲取內容的方法

本文目錄一覽:

JSP下拉框讀取數據庫內容問題

jsp頁面可以利用Ajax來獲取數據庫數據來:

在第一級列表的onchange事件中編寫:

//投訴信息來源信息級聯

function getTsFromDescribe(ts_describe){

var tsfrom = $(“#t_tsfrom”).val();

var tstsFrom = $(“#ts_tsFrom”).val();

Ext.Ajax.request( {

url : ‘${ctx}/complaints/complaints!getTsFrom.action’,

params : {

tsfrom : tsfrom//通過json形式將前台每次獲取到的值傳遞給後台

},

success : function(response) {

var json = Ext.util.JSON.decode(response.responseText);

if (json.success) {

var data = json.strongcmList/strong;

if (“” == data) {

alert(“請選擇投訴類型”);

inputForm.t_tsfrom.focus();

$(“#ts_tsFrom”).empty();//每次需要將上一次的數據進行清空

} else {

$(“#ts_tsFrom”).empty();

//對獲取到的數據進行迭代

for ( var i = 0; i data.length; i++) {

var id = data[i];

var name = data[i];

$(“#ts_tsFrom”).append(

“option value='” + id + “‘” + name + “/option”);

}

dwr.util.removeAllOptions(‘tstsFrom’);

dwr.util.addOptions(‘tstsFrom’, data);

}

}

}

});

}

後台返回數據:

public void getTsFrom() throws Exception {

HttpServletResponse response = ServletActionContext.getResponse();

String ts_names = tsfrom;

ListCustomManage list = complaintsmanager.getTsDescribe(ts_names);

response.setContentType(“text/javascript”); // 後台控制的代碼

PrintWriter writer = response.getWriter();

// 將得到的list集合轉為JSON對象傳給前台處理

JSONArray j = JSONArray.fromObject(list);

writer.println(“{‘success’:true,’strongcmList/strong’:” + j.toString() + “}”);

}

在jsp中下拉框中如何獲取數據庫中的值

但是還有一種方法通過js獲取下拉框的值select name=”sel” onchange=”check()” — 增加onchange事件%while (rs.next()) {%option value=”” — 這裡沒有給選項賦值– 改為,如:option value=”%=rs.getString(1)%”%=rs.getString(1)%/option %}%/selectscript type=”text/javascript”function check(){var id = document.getElementsByName(“sel”).value;– 獲取下拉框的值如:拼接url打開頁面,var url = ‘xxxx.do?id=’ + id;//注,具體的url你要自己拼寫,我這個是列子,不能用的方法1,在本窗口打開頁面:window.location = url ;方法2,新窗口打開頁面window.open(url)}/script 追問: 我終於發現了,能讀取數據,可是把讀取的數據放入數據庫中就有問題了,難道還要轉碼才行嗎? 回答: 當然`~~ 追問: 頁面編碼是gb2312那我要怎樣轉碼呢? 回答: 首先你要知道你的數據庫的是什麼編碼的,你頁面的編碼要符合你數據庫的編碼,這樣的轉碼才是正確的 追問: 現在我不是從頁面讀取數據了,而是直接在程序中測試Date.valueOf(“1987-3-7”)比如我用這樣的方法把這個數據放到數據庫中去就自動變成了1905-6-1了,感覺太怪了這個就和編碼無關了 回答: 你具體的代碼我也不知道,也不好給你說,給你個UTF-8轉GB2312的代碼吧private String utf8Togb2312(String str){StringBuffer sb = new StringBuffer();for(int i=0; istr.length(); i++) {char c = str.charAt(i);switch (c) {case ‘+’:sb.append(‘ ‘);break;case ‘%’:try {sb.append((char)Integer.parseInt(str.substring(i+1,i+3),16));}catch (NumberFormatException e) {throw new IllegalArgumentException();}i += 2;break;default:sb.append(c);break;}}String result = sb.toString();String res=null;try{byte[] inputBytes = result.getBytes(“8859_1”);

jsp中下拉框中的值從數據庫中動態獲取

jsp中把數據庫全量查詢後填充select列表:

舉例說明:

table

tr

td width=”400px” align=”left”入學批次:SELECT NAME=”grade”

id=”grade” onchange=”refreshEduLevelAndSpecialAjax();” //選擇入學批次會刷新層次和專業

OPTION VALUE=”0″

–請選擇–

c:forEach items=”${gradeInfo}” var=”gradeInfo”

OPTION VALUE=”${gradeInfo.gradeName}”${gradeInfo.gradeName}

/c:forEach

/SELECT/td

td width=”400px” align=”left”統考課程:SELECT

NAME=”uniExamCourseId” id=”uniExamCourseId”

OPTION VALUE=”0″

–請選擇–

c:forEach items=”${unifiedExamCourseList}” var=”uniExamCourse”

OPTION VALUE=”${uniExamCourse.id}”${uniExamCourse.uniExamCourseName}

/c:forEach

/SELECT/td

/tr

tr

td colspan=”2″ id=”refreshEduLevelAndSpecialAjax” //設置ID,用於填充層次和專業的下拉框

table

tr

td width=”400″ align=”left”層 次:SELECT

NAME=”eduLevelId” id=”eduLevelId”

onchange=”refreshSpecialAjax();” //選擇層次後刷新專業

OPTION VALUE=”0″–請選擇–/OPTION

c:forEach items=”${educationLevel}” var=”educationLevel”

OPTION VALUE=”${educationLevel.id}”${educationLevel.educationLevelName}

/c:forEach

/SELECT/td

td width=”400″ align=”left” id=”refreshSpecialAjax”專 業:SELECT //設置ID,用於填充專業的下拉框

NAME=”specialId” id=”specialId”

OPTION VALUE=”0″–請選擇–/OPTION

c:forEach items=”${specialList}” var=”special”

OPTION VALUE=”${special.id}”${special.specialName}

/c:forEach

/SELECT/td

/tr

/table

/td

/tr

/table

java後台通過dao接口獲取specialList的值,並且保存到session即可。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/232224.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-11 12:51
下一篇 2024-12-11 12:51

相關推薦

  • 解決.net 6.0運行閃退的方法

    如果你正在使用.net 6.0開發應用程序,可能會遇到程序閃退的情況。這篇文章將從多個方面為你解決這個問題。 一、代碼問題 代碼問題是導致.net 6.0程序閃退的主要原因之一。首…

    編程 2025-04-29
  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • Python創建分配內存的方法

    在python中,我們常常需要創建並分配內存來存儲數據。不同的類型和數據結構可能需要不同的方法來分配內存。本文將從多個方面介紹Python創建分配內存的方法,包括列表、元組、字典、…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進制的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進制。 一、AES加密介紹 AE…

    編程 2025-04-29
  • openeuler安裝數據庫方案

    本文將介紹在openeuler操作系統中安裝數據庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟件源 sudo…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29

發表回復

登錄後才能評論