java下拉框的值怎么从数据库里动态取出(el)

java下拉框的值怎么从数据库里动态取出(el),第1张

你是从 servlet 跳转到 jsp 吧,你可以在servlet查询到 选项框里的内容List传到jsp

然后:

<select>

<c:foreach item="${List}" var="ml">

<option value="${mlname}">${mlname}</option>

</c:foreach>

</select>

这样应该OK了。希望对你有帮助

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="${gradeInfogradeName}">${gradeInfogradeName}

</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="${uniExamCourseid}">${uniExamCourseuniExamCourseName}

</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="${educationLevelid}">${educationLeveleducationLevelName}

</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="${specialid}">${specialspecialName}

</c:forEach>

</SELECT></td>

</tr>

</table>

</td>

</tr>

</table>

java后台通过dao接口获取specialList的值,并且保存到session即可。

这个简单的可以有如下实现:

同步:后台不管是servlet action或者contoller也好,总之通过调用数据库查询的类,将结果封装进一个对象,然后保存到request或者session中(看需要),然后在前台页面上获取该对象里面的值,在对应的下拉菜单上迭代输出即可,采用jsp jstl或者框架的标签输出都随意,按项目来。

异步:应用ajax,后台获取数据是一样的,只不过通过ajax异步获取数据,然后使用js输出内容,页面无刷新而已。

详细的很难一一描述清楚,楼主可参考并适当谷哥查询。。

但是还有一种方法通过js获取下拉框的值<select name="sel" onchange="check()"> -- 增加onchange事件<%while (rsnext()) {%><option value=""> -- 这里没有给选项赋值-- 改为,如:<option value="<%=rsgetString(1)%>"><%=rsgetString(1)%></option> <%}%></select><script type="text/javascript">function check(){var id = documentgetElementsByName("sel")value;-- 获取下拉框的值如:拼接url打开页面,var url = 'xxxxdoid=' + id;//注,具体的url你要自己拼写,我这个是列子,不能用的方法1,在本窗口打开页面:windowlocation = url ;方法2,新窗口打开页面windowopen(url)}</script> 追问: 我终于发现了,能读取数据,可是把读取的数据放入数据库中就有问题了,难道还要转码才行吗? 回答: 当然`~~ 追问: 页面编码是gb2312那我要怎样转码呢? 回答: 首先你要知道你的数据库的是什么编码的,你页面的编码要符合你数据库的编码,这样的转码才是正确的 追问: 现在我不是从页面读取数据了,而是直接在程序中测试DatevalueOf("1987-3-7")比如我用这样的方法把这个数据放到数据库中去就自动变成了1905-6-1了,感觉太怪了这个就和编码无关了 回答: 你具体的代码我也不知道,也不好给你说,给你个UTF-8转GB2312的代码吧private String utf8Togb2312(String str){StringBuffer sb = new StringBuffer();for(int i=0; i<strlength(); i++) {char c = strcharAt(i);switch (c) {case '+':sbappend(' ');break;case '%':try {sbappend((char)IntegerparseInt(strsubstring(i+1,i+3),16));}catch (NumberFormatException e) {throw new IllegalArgumentException();}i += 2;break;default:sbappend(c);break;}}String result = sbtoString();String res=null;try{byte[] inputBytes = resultgetBytes("8859_1");

这个可以设置<select name=""> <option value="后台要得到的值" selected=“true”>显示的内容</option></select>

具体你是要怎么写呢

实现方法很多啊

你可以先查询到下拉框需要显示的值

返回一个List

然后在页面的时候循环迭代就可以显示了

具体的 你可以百度hi我

以上就是关于java下拉框的值怎么从数据库里动态取出(el)全部的内容,包括:java下拉框的值怎么从数据库里动态取出(el)、jsp中下拉框中的值从数据库中动态获取、java中下拉菜单的值,怎样动态从数据库中选择,详细点的过程!谢谢各位Bai友···等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9542377.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存