--------我该如何把狗屎变成馒头--------
不好意思用一个恶心的标题吸引大家的目光。
我写了一个把数据的添加、删除和修改都在一个页面上完成的jsp页,请各位高手帮我把它搞成OO的。并指出各种不足,谢谢各位高人帮我提高。
--------------------------------------------
表:
Create Table table1 (Id Int, Name Char(10), Primary Key(Id));
--------------------------------------------
jsp:
<%@ page language="java" import="java.util.*,forask.*"%>
<jsp:useBean id="table1Bean" class="forask.Table1Bean" scope="page" />
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<script language="javascript" src="tableop.js"></script>
<script language="javascript">
<!--添加行的语法-->
var rowSyntax = "<td align=center>" +
"<input type=hidden name=id>" +
"<input type=hidden name=dFlag value=N>" +
"<input type=hidden name=iuFlag value=I>" +
"<input type=checkbox name=check onclick=\'delRow(0,1)\'>" +
"</td>" +
"<td align=center>" +
"<input type=text name=name onchange=\'mdfRow(0,2)\'></input>" +
"</td>";
</script>
</head>
<body bgcolor="#FFFFFF">
<%
//读取form提交的内容进行数据库操作。
request.setCharacterEncoding("GB2312");
String id[]= request.getParameterValues("id");
String iuFlag[] = request.getParameterValues("iuFlag");
String dFlag[] = request.getParameterValues("dFlag");
String name[] = request.getParameterValues("name");
if (iuFlag != null) {
for (int i = 0; i < iuFlag.length; i++) {
if ("I".equals(iuFlag[i]) && "N".equals(dFlag[i])) {
table1Bean.addRow(new String(name[i].getBytes("GB2312"),"ISO-8859-1"));
} else if (!"I".equals(iuFlag[i]) && "D".equals(dFlag[i])) {
table1Bean.removeRow(Integer.parseInt(id[i]));
} else if ("U".equals(iuFlag[i]) && "N".equals(dFlag[i])) {
table1Bean.modifyRow(Integer.parseInt(id[i]), new String(name[i].getBytes("GB2312"),"ISO-8859-1"));
}
}
}
%>
<form method=get>
<table id="tab" align="center" width="600" border="1" bgcolor="#EEF7FD" cellspacing="0" cellpadding="5" bordercolorlight="#006699" bordercolordark="#DDDDDD" >
<tr width="150" colspan="6" style="background-color:#6699CC;color:#FFFFFF">
<td align=center>删除标志</td>
<td align=center>名称</td>
</tr>
<%
//循环读出数据库中的数据。
Collection rows = table1Bean.getRows();
Iterator it = rows.iterator();
while(it.hasNext()) {
Row row = (Row)it.next();
%>
<tr>
<td align=center>
<input type=hidden name=id value=<%=row.getId()%>>
<input type=hidden name=dFlag value=N>
<input type=hidden name=iuFlag value=N>
<input type=checkbox name=check onclick='delRow(0,1)'>
</td>
<td align=center>
<input type=text name=name <%= "".equals(row.getName())||row.getName()==null?"":("value=" + row.getName())%> onchange='mdfRow(0,2)'>
</td>
</tr>
<%
}
%>
<tr align=left>
<td colspan=3>
<input type=button value="增加" onclick="addRow(tab,rowSyntax,-1)">
<input type=submit value="提交">
</td>
</tr>
</form>
</table>
</body>
</html>