luck丶Moke
2015-11-02 13:47
采纳率: 50%
浏览 1.5k
已采纳

strut2 批量删除 怎么弄?求大神指点

我实体类的id是LONG型,当复选框选则多个的时候,就报错,删一个是没有问题的。
action类
public class ResumeAction extends BaseModelAction{
.......
public String delete(){
resumeService.deleteById(model.getId());
return "toList";
}

action的继承类,就是通过反射来实例化model,这样就导致model和实体一样了
public class BaseModelAction extends BaseAction implements ModelDriven {
protected T model;
public BaseModelAction() {
System.out.println("----------> BaseAction.BaseAction()");
try {
ParameterizedType pt = (ParameterizedType) this.getClass().getGenericSuperclass();
Class clazz = (Class) pt.getActualTypeArguments()[0];
model = clazz.newInstance();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public T getModel() {
return model;
}
}
从jsp表单提交的时候,只选择一条数据,提交的id是对的,但是选择多个的话就报错了,我猜测选择多个的时候id会经过处理,会用“,”来拼接,这样就导致在给model的id赋值的时候就报错了,因拼接“,”后变成字符串,但是model的id是long型,类型不匹配就报错了,但是真正的原因也不是很清楚,还请大神指点一二,顺便说下解决方法。万分感谢!!!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 我是付刚 2015-11-03 08:36
    已采纳

    在实体中新建一个属性
    String idList
    当批量提交前首先触发的操作是将所有的id以逗号的形式分割 ,
    后台拿到idList做分割处理,
    并逐个赋值给id,
    然后你拿到的是一组Long[]
    每个都是删除的id
    剩下的你应该都会了

    点赞 评论
  • bdmh 2015-11-02 14:42

    前端组织成数组,对应到后台的数组或list上

    点赞 评论

相关推荐 更多相似问题