关于JSP技术性的问题.大虾进!!!!
来源:百度知道 编辑:UC知道 时间:2024/05/29 06:01:36
如果用两个Serverlet做的页面.管理页面的checkbox控件绑定一个变量.如果打勾就是1.不打勾就是0.将他们update数据库里面的对应的一列.之后在显示页面那里取值.再用for循环加if判断.用if判断那列是否为1.如果为1就不打印.如果为0就打印出来. 大虾们.这样行得通吗?我是新手.我只想到这办法.但又不知道能不能行.所以请大虾们指点.看看有没有更简便的方法~请发上来参考一下.很急!!!谢谢了~!
你说的办法可行,
首先你要知道选中的是那一条数据,一般是要取得数据是主键,这样你才知道要更新那一条数据,
其次,在数据库里设置一个字段,假设叫SHOWFLAG,0,显示,1不显示
那么你在检索数据的时候,只要加一个where条件,即 SHOWFLAG = 0;
这样就得到了你想要显示的数据,不用在JSP中每条判断.只要输出就可以了.
如果你的表页面表格是动态生成的,那么我建议你这样做如下:
List als = ....... //这个是你的要显示的数据集合,怎么来的就是你的事了.
for(int i=0;i<als.size();i++){
Map dataMap = (Map)als.get(i);
out.println("<input type='checkbox' name="box" value='"+dataMap.get("字段名")+"'>");
//这样循环出来的表格是一组都叫box的复选框.而value值就是你要更改的字段的主键值.(只要是你这条数据的唯一标识就可以)
.................以下略..................................
}
做更新的时候,
首选取得你选中了那些数据
String[] box = request.getParameterValues("box");
因为你的多选框是一个数组,所以用这个方法取得值数组.
request.getParameter("");是取名字唯一的控件值方法.
循环更新
for(int i=0;i<box.length;i++){
update 表名 set SHOWFLAG = 1 where 标识字段名=box[i] <