java吧 关注:1,289,812贴子:12,819,602
  • 9回复贴,共1

有没还没睡觉的额,帮我看看这问题额0 0

只看楼主收藏回复

/**
* 批量删除
* */
public class UserDelectAction extends ActionSupport {
private String[] ids;
private IUserService userService;
public void setIds(String[] ids) {
this.ids = ids;
}
public void setUserService(IUserService userService) {
this.userService = userService;
}
public String[] getIds() {
return ids;
}
public String execute() throws Exception {
userService.deleteUser(ids);// 这里报错,传递一个数组。
return NONE;
}
service层
public void deleteUser(String[] ids) {
for(String idStr:ids){
long id = Long.parseLong(idStr);
User user=new User();
user.setId(id);
userDao.delete(user);
}
}
-------------------------------------------以上报错-----------------------------------------------------------------
/**
* 批量删除
* */
public class UserDelectAction extends ActionSupport {
private String ids;//string类型不会报错
private IUserService userService;
public void setUserService(IUserService userService) {
this.userService = userService;
}
public String getIds() {
return ids;
}
public void setIds(String ids) {
this.id = ids;
}
public String execute() throws Exception {
userService.deleteUser(ids.split(","));//没问题,ok。
return NONE;
}
}
jsp代码
function doDelete() {
alert("删除用户");
var ids = [];
var items = $(*#grid*).datagrid(*getSelections*);
for(var i=0; i<items.length; i++){
ids.push(items[i].id);
}
------------------------------------------------------------------------------------------
为什么String[] ids就不行呢?要String类型才能通过。。。这里真心搞不明白。


1楼2014-09-30 03:14回复
    看删除的底层方法。。。。。。。


    2楼2014-09-30 03:22
    收起回复
      2025-12-02 07:13:14
      广告
      不感兴趣
      开通SVIP免广告
      public class GenericDaoImpl<T> extends HibernateDaoSupport implements IGenericDao<T> {
      private Class<T> domainClass;
      public GenericDaoImpl(String domainClassName) {
      try {
      this.domainClass= (Class<T>) Class.forName(domainClassName);
      } catch (ClassNotFoundException e) {
      e.printStackTrace();
      }
      }
      public void save(T entity) {
      this.getHibernateTemplate().save(entity);
      }
      public void update(T entity) {
      this.getHibernateTemplate().update(entity);
      }
      public void delete(T entity) {
      this.getHibernateTemplate().delete(entity);
      }
      这是底层的。


      3楼2014-09-30 03:30
      回复
        看样子,jsp提交的ids是个String,定义String[]能收到吗?


        来自Android客户端5楼2014-09-30 13:34
        收起回复
          js提交只是String,建议后台手动split前端传的ids


          IP属地:上海6楼2014-09-30 13:39
          收起回复