首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

老师,不改xml,怎么在页面中提交后,修改数据库

2013-03-10 
请教各位老师,不改xml,如何在页面中提交后,修改数据库?本帖最后由 dawnspace 于 2013-03-05 21:27:57 编辑

请教各位老师,不改xml,如何在页面中提交后,修改数据库?
本帖最后由 dawnspace 于 2013-03-05 21:27:57 编辑 我是WEB新手,工作中遇到一个问题,向各位老师求助。

有一个WEB的应用。由于某些原因,不能修改XML配置文件,只能改一个JSP文件。
这个JSP页面开始就直接连接数据库,从一个表里读数据,然后通过table显示到这个JSP页面中。


现在老板要我在在这个表格每行前面加个勾选框,然后页面下面加个按钮。

被勾选的行,再提交后。要求,数据库里面删除相应勾选的记录。


我对jsp的了解仅仅在于,通过JS,获取勾选的行,然后页面提交,通过 servlet 在后台删除数据。
但是这样做,好像要添加XML配置,还要加 servlet 。现在这些都不允许。

我想请教各位老师。能不能直接在页面里面通过嵌入的JAVA程序和JS就把这项工作完成?不涉及修改XML配置文件和ACTION?(简单的说:如何点按钮,执行JAVA程序?)
不能用javascript来连数据库。写入。

JSP文件大致如下:


<%
读取数据库,获取数据……list
%>
<script>
function dell( ){
     这里怎么写?或者是在上面JAVA代码部分加???
}

</scrritp>
<table>
<%
for( list )
{
%>
<tr><%=......list.get(i)......%></tr>
<%
}
%>
<input type="button" onclik="dell( )">










jsp java
[解决办法]
那就用form:
<form method="post" action="new.jsp">
</form>
[解决办法]
写了个例子,在同一个JSP页面处理删除操作,主要是将要删除的记录id作为当前jsp页面的参数传入,若参数不为空则获取deleteIds参数信息执行删除操作,希望能帮到你~~

index.jsp文件如下:


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="java.sql.*"%>
<%
//驱动类名
String className = "org.gjt.mm.mysql.Driver";
// 数据库URL
String url = "jdbc:mysql://localhost/win";
// 用户名
String userName = "root";
// 密码
String password = "";

String listSql = "select * from email_history order by id limit 1,100";
String deleteSql = "delete from email_history where id in (%s)";

Class.forName(className);
Connection conn = DriverManager.getConnection(url, userName, password);
Statement stmt = conn.createStatement();

String deleteIds = request.getParameter("deleteIds");
if(deleteIds!=null && !"".equals(deleteIds)) {
stmt.execute(String.format(deleteSql, deleteIds));
}
%>
<html>
<head>
<title>会议信息</title>
</head>

<body>
<table border="1">
<%
ResultSet rs = stmt.executeQuery(listSql);
String ids = "";
while (rs.next()){
ids += "," + rs.getInt("id");
%>
<tr>
<td><input type="checkbox" id='checkbox_<%=rs.getInt("id") %>' name='checkbox_<%=rs.getInt("id") %>' onclick="doCheck()" /></td>
<td><%=rs.getInt("id") %></td>
<td><%=rs.getString("title") %></td>
<td><%=rs.getString("from_email").replaceAll("<","&lt;").replaceAll(">","&gt;") %></td>
<td><%=rs.getString("to_email") %></td>
</tr>
<%
}
if(!"".equals(ids)) {
ids = ids.substring(1);
}
%>
<tr>
<td colspan="5">
<input type="checkbox" id="checkall" name="checkall" onclick="checkAll()" /> 全选


<input type="button" value="删除" onclick="doDelete()" />
</td>
</tr>
</table>

<script type="text/javascript">
var ids = '<%=ids %>';
function doDelete() {
if(ids=='') {
return;
}

var deleteIds = "";
var idList = ids.split(",");
var len = idList.length;
for(var i=0; i<len; i++) {
if($("checkbox_" + idList[i]).checked) {
deleteIds += "," + idList[i];
}
}
if(deleteIds=="") {
alert("请选择要删除的记录!");
return;
}
deleteIds = deleteIds.substr(1);
location.href = "./index.jsp?deleteIds=" + deleteIds;
}
function doCheck() {
if(ids=='') {
return;
}

var deleteIds = "";
var idList = ids.split(",");
var len = idList.length;
var checkall = $("checkall");
for(var i=0; i<len; i++) {
if(!$("checkbox_" + idList[i]).checked) {
checkall.checked = false;
return;
}
}
checkall.checked = true;
}
function checkAll() {
if(ids=='') {
return;
}

var idList = ids.split(",");
var len = idList.length;
var checkall = $("checkall");
for(var i=0; i<len; i++) {
$("checkbox_" + idList[i]).checked = checkall.checked;
}
}
function $(id) {
return document.getElementById(id);
}
</script>
</body>
</html>

热点排行