=========struts.xml=========
……
   ……
<action name="action_*" class="personList" method="{1}">
   <result name="list">/WEB-INF/page/personlist.jsp</result>
   <result name="add">/WEB-INF/page/addperson.jsp</result>
</action>
……
   ……
=============struts的action=============
public String add_cyg(){
   return "add";
}
============= hibernate处理 =============
public void save(Person person) {
   try {
     sessionFactory.getCurrentSession().persist(person);
   } catch (Exception e) {
     logger.error("保存人员错误!");
   }
}如果保存失败,页面的跳转如何做呢?,请高手帮忙

解决方案 »

  1.   

    就是说当hibernate保存失败后,该如何判断失败,并在页面跳转到失败的页面
      

  2.   

    这个问题也困扰我好久  
     我是把方法try 起来 在 返回个值  可是 不 行呀  
    关注 高手指点下  顶   
      

  3.   

    public boolean save(Person person) { 
      try { 
        sessionFactory.getCurrentSession().persist(person); 
        return true ;
      } catch (Exception e) { 
        logger.error("保存人员错误!"); 
        return false ;
      } 

      

  4.   

    public boolean save(Person person) {
      boolean flag=false;
      try {
        sessionFactory.getCurrentSession().persist(person);
        flag=true;
      } catch (Exception e) {
        logger.error("保存人员错误!");
        flag=false;
      }
    } if(save(person))
    {
       //跳到成功页面
    }else
    {
       //跳到失败页面
    }
      

  5.   

    应该在struts的action中判断,然后用forward返回错误和正确的信息!
      

  6.   

    =============struts的action=============
    public String add_cyg(){
        try{
            save(person);        
        }catch(Exception ex){
            System.out.println(ex.getMessage());
            return "error"; //跳到错误页面.
        } 
        return "add";   //跳到成功页面.
    }
    ============= hibernate处理 =============
    public boolean save(Person person) throws Exception{   -----把异常抛出.
          sessionFactory.getCurrentSession().persist(person);