关于JSP技术性的问题.大虾进!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:01:36
我想问的是.我想JSP里面的表单内容是动态的.在另一个页面.也就是管理页面.有几个对应的多选框.多选框中打勾就代表要把这行数据隐藏.在JSP页面刷新一下.那行数据就看不到了.这要怎么做到?要用到什么JS?请各位大虾指点一下.~~急~!~!
如果用两个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] <