newsInfo是VO类
Action层
 public String updateNew(){
     News news=new News();
     news.setId(47);
     System.out.print(newsInfo.getId());
     news.setId(newsInfo.getId());
news.setTitle(getString(newsInfo.getTitle()));
news.setContent(getString(newsInfo.getContent()));
news.setIshome(getString(newsInfo.getIshome()));
news.setIsnew(getString(newsInfo.getIsnew()));
news.setDate(new Date());
newsService.update(news);
return "update";
    }DAO层:
public void update(News news) {
// TODO Auto-generated method stub
this.hibernateTemplate.update(news);

}newsInfo.getId()为0值,如何给newsInfo.setId()为你数据库的ID就执行成功,
为什么VO类的newsInfo.getId获取的是0值?

解决方案 »

  1.   

    jsp页面已经运行了load()方法,按道理,VO类的ID也是load的ID吧
      

  2.   

    我断点测试了,因为是空值, 然而在JSP页面加了一句话 <input type="hidden" name="id" value="${id}"/>  就可以了
      

  3.   

       页面是否有newsInfo.id 这个文本框。。如果没有并且id是int类型的话 那就正常了 int类型默认为0
      

  4.   

    说明你以前面VO中的ID没有从页面获取到了值