下拉数据自动更新 登陆用户名 做了个下拉列表如何让下拉用户名自动连接数据库更新数据? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看来需要Ajax技术定时查询数据库了 登陆用户名 做了个下拉列表 如何让下拉用户名自动连接数据库更新数据?就是数据库增加一个用户名,让JSP登陆用户名下拉列表自动增加添加的用户名??? 这个是可以实现的,主要是要将列表里的元素单独建立一张主表里,一般叫master表,3个字段“key,subkey,item” key是这个表的主键,subkey就是名字的编号,item就是具体的名字,不要在jsp页面里写好下拉列表的元素,需要在这个页面初始化时对这个下拉列表初始化,这是的初始化就不是你在jsp页面事先设置好的了,而需要从master表中读出来,加到下拉列表里显示出来。 啥也不说了,一个词,ajxa......虽说他不是万能滴,但刚好可以用来解决这个问题~~貌似偶有点象打广告的,呵呵 我采用的是DWR框架实现的login.jsp##-------------<%@ page language="java" import="java.util.*" pageEncoding="gbk" isELIgnored="false"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <script type='text/javascript' src='dwr/util.js'></script> <script type='text/javascript' src='dwr/engine.js'></script> <script type='text/javascript' src='dwr/interface/Login.js'> </script> <script type="text/javascript"> function getuser() { Login.getUser(callback); } function callback(data) { dwr.util.removeAllOptions("filluser"); dwr.util.addOptions("filluser",data); } </script> </head> <body> <input type="button" value="用户下拉列表" onclick="getuser();"><br/> <select id="filluser" size="10"> <option>请选择</option> </select> </body></html>##-----------dwr.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd"><dwr> <allow> <create javascript="Login" creator="new"> <param name="class" value="com.jobcn.Login"></param> </create> </allow> </dwr>#--------login.javapackage com.jobcn;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;public class Login { private String driver = "com.mysql.jdbc.Driver"; private String url = "jdbc:mysql://127.0.0.1:3306/mydb"; private String user = "root"; private String pwd = "root"; public List getUser() { List list = new ArrayList(); Connection con = null; PreparedStatement pstm = null; ResultSet rs = null; String sql = "select * from user"; try { Class.forName(driver); con = DriverManager.getConnection(url,user,pwd); pstm = con.prepareStatement(sql); rs = pstm.executeQuery(); while(rs.next()) { list.add(rs.getString("name")); } } catch (Exception e) { e.printStackTrace(); } finally { try { rs.close(); pstm.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } } return list; }} AJAX和HTML里的iframe都可以实现效果是AJAX的好,不过做的时候返回值的问题处理起来有点麻烦,iframe做起来简单。 谁用过fusionChart报表的? jsp 自定义标签的问题 [问题]请问在JSP中如何读取文件的属性? 初学者的问题:在tomcat中,类是以WEB-INF/classes为搜寻起点的,为什么类直接放在classes里却找不到,非要放在一个包里? jsp+servlet问题,谢谢!100分相送。 一个简单问题 javamail的smtp地址如何在本机配?100分,不够加,来者有分! tomcat不能自动启动了? 数据库存取中<br>的问题 IntelliJ IDEA中不能实时刷新页面 Tree 树形控数据在邦定的问题 小弟新手,帮我解决下这个问题!!!
如何让下拉用户名自动连接数据库更新数据?
就是数据库增加一个用户名,让JSP登陆用户名下拉列表自动增加添加的用户名
???
login.jsp
##-------------
<%@ page language="java" import="java.util.*" pageEncoding="gbk"
isELIgnored="false"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<script type='text/javascript' src='dwr/util.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/interface/Login.js'> </script>
<script type="text/javascript">
function getuser()
{
Login.getUser(callback);
}
function callback(data)
{
dwr.util.removeAllOptions("filluser");
dwr.util.addOptions("filluser",data);
}
</script>
</head> <body>
<input type="button" value="用户下拉列表" onclick="getuser();"><br/>
<select id="filluser" size="10">
<option>请选择</option>
</select>
</body>
</html>
##-----------
dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
<allow>
<create javascript="Login" creator="new">
<param name="class" value="com.jobcn.Login"></param>
</create>
</allow>
</dwr>#--------
login.javapackage com.jobcn;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class Login { private String driver = "com.mysql.jdbc.Driver";
private String url = "jdbc:mysql://127.0.0.1:3306/mydb";
private String user = "root";
private String pwd = "root";
public List getUser()
{
List list = new ArrayList();
Connection con = null;
PreparedStatement pstm = null;
ResultSet rs = null;
String sql = "select * from user";
try {
Class.forName(driver);
con = DriverManager.getConnection(url,user,pwd);
pstm = con.prepareStatement(sql);
rs = pstm.executeQuery();
while(rs.next())
{
list.add(rs.getString("name"));
}
} catch (Exception e) {
e.printStackTrace();
}
finally
{
try {
rs.close();
pstm.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}
}
效果是AJAX的好,不过做的时候返回值的问题处理起来有点麻烦,
iframe做起来简单。