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中怎么获取显示数据库的信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)