如何在加载完jsp页面后,下拉框的值从数据库中读取,而不是写在jsp页面中

如何在加载完jsp页面后,下拉框的值从数据库中读取,而不是写在jsp页面中,第1张

jsp 中如果要使用select html组件显示数据库中的某个数据一般可以通过一下形式完成。

1 用户首先提交一个请求到控制器(Servlet,Acton等)。

2 控制器根据请求调用服务器——>业务层——>DAO层(数据访问层)。

3 控制器得到目标数据库后,可以根据具体情况将数据存入作用域中(一般为request或则session)。定位到要显示数据的jsp页面

3 jsp页面中使用自定义标签从作用域中取出数据并填充select 子元素的option 的属性value值即可

如:从dao中获得数据存放在request域中 ,key键为 examine, 类型是List,List对象存储从数据表中得到的所有审核人信息,包括审核人姓名,及审核人id,在jsp应如下使用:

<select id='audits' name="audits" sine="15" style="WIDTH:140px" tabindex="12">

<c:forEach items="${examine}" var="obj">

<option value ="${objexamineId}">${objexamineName}

</c:forEach>

</select>

注:objexamineId 是获取对应数据库中审核人表的主键,examineName 审核人姓名,应有一个实体bean 和 审核人表对应,objXXX 就是访问实体bean对象的属性

DAO 中如果抛开任何ORM框架,无非直接使用jdbc *** 作数据库返回 *** 作数据库的结果就行了。

如执行select 查询语句返回一个封装数据库表的ResultSet 结果集接口类型对象,此对象是对一个查询表的映射,从结果集中遍历结果集中的记录行封装成某个java对象(实体Bean对象),这个对象返回到web层,在jsp中就可以使用它访问它的属性,比如用这个对象的某个属性填充一个下拉式列表框

先连接数据库,然后获取jsp页面录入的用户名和密码,根据用户名去数据库表中查询,如果查询不到用户名,说明用户名不存在,如果找到了,在将数据库里面用户名对应的密码和页面上录入的密码进行对比

<%

//JSP页面直接访问数据库

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try{

ClassforName("JDBC驱动");

conn = DriverManagergetConnection("url", "username", "password");

stmt = conncreateStatement();

rs = stmtexecuteQuery("select factor, ratio from 表名 where id=1");

while(rsnext()){

String factor = rsgetString("factor");

String ratio = rsgetString("ratio");

%>

factor :<%=factor %>

ratio :<%=ratio %>

<%

}

}catch(Exception e){

eprintStackTrace();

}finally{

try{

if(rs != null) rsclose();

if(stmt != null) stmtclose();

if(conn != null) connclose();

}catch(Exception e1){

e1printStackTrace();

}

}

%>

修改 驱动、url、username、password、表名、字段名成你应用的相应数据,然后将这些代码加入到你的jsp页面,就可以在jsp页面直接读取到数据库中的对应表指定字段的数据了,祝你好运!

1、jsp页面写小脚本可以得到

2、可以是使用ajax技术 异步进行访问

3、可以配置webxml 里面配置好servlet

4、使用框架的话,就直接用框架技术来得到

总之,方法很多,看你是要采用哪种方法来做

查询数据库应该知道吧?

调用查询数据库方法,从而得到一个数据集合,List类型,数组类型都可以。

假设查询数据库方法是 getData(),返回一个list集合。

<select>

<option value=0>--请选择--</option>

<%

dao d=new dao();//这是那个数据库访问的类。

List list=dgetData();

for(int i=0;i<listsize();i++)

{

%>

<option value=<%=i+1%>><%=listget(i)%></option>

<%}%>

</select>

就这样。

首先你要把数据库里面的数据封装到一个集合对象里面去 比如是 List

然后在跳转之前设置request属性

requestsetAttribute("属性名",你封装数据的那个集合对象);

js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。

java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:

<script>

var url="<%=url%>";

alert(username);

</script>

上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:

<script>

var url="gif8cn";

alert(url);

</script>

这部分就是标准的js代码了。

以上就是关于如何在加载完jsp页面后,下拉框的值从数据库中读取,而不是写在jsp页面中全部的内容,包括:如何在加载完jsp页面后,下拉框的值从数据库中读取,而不是写在jsp页面中、jsp页面登陆时如何调用数据库里的用户名和密码、在jsp中怎么获取显示数据库的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/10174779.html

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

发表评论

登录后才能评论

评论列表(0条)

保存