jsp中list 如何删除 指定的一项
//*********从集合里删除自己********//ListuserList=(List)application.getAttribute("users");//U...
//*********从集合里删除自己********
// List userList = (List) application.getAttribute("users");
// Users user=(Users) session.getAttribute("users");
//删除 集合中的 魔一项
// for(int i=0;i<userList.size();i++){
// Users u=(Users)userList.get(i);
// int as=user.getUserID();
// if(u.getUserID()==as){ //就在有问题 如何写呢?
// userList.remove(u);
// }
// }
userList 集合 里我存折所有的元素 现在 要用getUserID为条件 删除
我问的是
if(u.getUserID()==?)
这个?该写什么
userList.remove(u);我知道
再补充
Users user=(Users) session.getAttribute("users");实体类 里面存了 getUserID
我最后把 所有信息都放在 userList集合里 现在需要 删除其中的一项
做的是 注销的东西
谢谢 你们 但是 没有一个 符合 最下面的 你 最辛苦 谢谢你们了 我知道 解决方法了 跟大家分享一下
方法:
User user = (User)session.getAttribute("USER");
//得到当前登录用户保存在application中的对象
List<User> loginUsers = (List<User>)application.getAttribute("USERS");
//判断application是否为空
if(application.getAttribute("USERS")!=null){
for(int i =0;i<loginUsers.size();i++){ //循环application对象
//如果当前登录用户对象与保存在application中的对象相等
if(user.getUserName().equals(loginUsers.get(i).getUserName())){
loginUsers.remove(i); //从保存的LIST中清除掉登录的用户 展开
// List userList = (List) application.getAttribute("users");
// Users user=(Users) session.getAttribute("users");
//删除 集合中的 魔一项
// for(int i=0;i<userList.size();i++){
// Users u=(Users)userList.get(i);
// int as=user.getUserID();
// if(u.getUserID()==as){ //就在有问题 如何写呢?
// userList.remove(u);
// }
// }
userList 集合 里我存折所有的元素 现在 要用getUserID为条件 删除
我问的是
if(u.getUserID()==?)
这个?该写什么
userList.remove(u);我知道
再补充
Users user=(Users) session.getAttribute("users");实体类 里面存了 getUserID
我最后把 所有信息都放在 userList集合里 现在需要 删除其中的一项
做的是 注销的东西
谢谢 你们 但是 没有一个 符合 最下面的 你 最辛苦 谢谢你们了 我知道 解决方法了 跟大家分享一下
方法:
User user = (User)session.getAttribute("USER");
//得到当前登录用户保存在application中的对象
List<User> loginUsers = (List<User>)application.getAttribute("USERS");
//判断application是否为空
if(application.getAttribute("USERS")!=null){
for(int i =0;i<loginUsers.size();i++){ //循环application对象
//如果当前登录用户对象与保存在application中的对象相等
if(user.getUserName().equals(loginUsers.get(i).getUserName())){
loginUsers.remove(i); //从保存的LIST中清除掉登录的用户 展开
4个回答
展开全部
你只要直接使用list接口的public boolean remove(Object o);方法就OK了.
你的问题很简单..正常来说,你的session里存的users对象是不是跟application里的users存放的是同一个对象...如:
Users u = new ...();
session.setAttribute("users",u);
List us = application.getAttribute("users");
us.add(u);
如果是以上形式...说明2个地方是同一个对象..可以直接使用 list.remove方法就OK了.
如果 有可能不是同一个对象..而是getUserId值一样的话..你可以给Users类overrides一个方法equals方法.
如:
class Users{
.....//已经写的代码
public boolean equals(Object o){
return o==null?false:o==this?true:o instanceof Users?getUserId()==((Users)o).getUserId():false;
}
list的另一个remove方法
public boolean remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。更正式地说,如果列表包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,
你的问题很简单..正常来说,你的session里存的users对象是不是跟application里的users存放的是同一个对象...如:
Users u = new ...();
session.setAttribute("users",u);
List us = application.getAttribute("users");
us.add(u);
如果是以上形式...说明2个地方是同一个对象..可以直接使用 list.remove方法就OK了.
如果 有可能不是同一个对象..而是getUserId值一样的话..你可以给Users类overrides一个方法equals方法.
如:
class Users{
.....//已经写的代码
public boolean equals(Object o){
return o==null?false:o==this?true:o instanceof Users?getUserId()==((Users)o).getUserId():false;
}
list的另一个remove方法
public boolean remove(Object o)从此列表中移除指定元素的单个实例(如果存在),此操作是可选的。更正式地说,如果列表包含一个或多个满足 (o==null ? e==null : o.equals(e)) 的元素 e,
展开全部
userList.remove(i); //i代表list里面的位置..删除这个位置的就可以
如果list里面只有一个是相同的..提高效率可以在后面加个break;
if(u.getUserID()==as){ //就在有问题 如何写呢?
userList.remove(i);
break;
}
如果list里面只有一个是相同的..提高效率可以在后面加个break;
if(u.getUserID()==as){ //就在有问题 如何写呢?
userList.remove(i);
break;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
userList.remove(i);
if(u.getUserID()==user.getUserID())你这样写。
if(u.getUserID()==user.getUserID())你这样写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看你的代码没有问题啊,最好把错误提示贴出来!
还有你的Users类里的userID是什么类型的,会不会是类型不一致!
还有你的Users类里的userID是什么类型的,会不会是类型不一致!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询