天天看點

Struts+Hibernate 實作添加

 //在Struts中實作添加步驟

//注:一下代碼片斷中,其中Form和Ation檔案應該在struts-config.xml下建立,請記住Struts架構中每建立一個對象就要在Struts配置檔案中聲明一次,如果不注意這個細節在代碼運作時會給你帶來不必要的麻煩。

//首先建立一個Form類代碼如下:

 public class WeeklyForm extends ActionForm {

         private 類型  變量名;

   生成getter/setter方法;

  //( 提示:可以直接将dao包中的pojo類檔案的變量聲明直接複制過來,并添加getter/setter方法)

//在Service中應添加的代碼如下:

public void add(要實作添加的pojo類 transientInstance){

  ADD類   對象名 =new ADD類();

  Transaction tran=HibernateSessionFactory.getSession().beginTransaction();

  try {

   對象名.save(transientInstance);

   tran.commit();

  } catch (Exception e) {

   // TODO: handle exception

   e.printStackTrace();

   if(tran!=null){

    tran.rollback();

   }

  }finally{

   HibernateSessionFactory.closeSession();

  }

 }

// 在Ation中應添加的代碼如下:

 public ActionForward add(ActionMapping mapping, ActionForm form,

   HttpServletRequest request, HttpServletResponse response) {

  要實作添加的Form類  (名)Form=(要實作添加的Form類)form;

  要實作添加的Service類 (名)Service=new 要實作添加的Service類();

  要實作添加的pojo類 (名)pojo=new pojo類 ();

  try {

   PropertyUtils.copyProperties((名)pojo, (名)Form);

   workManageService.addProject((名)pojo);

  } catch (Exception e) {

   // TODO: handle exception

   e.printStackTrace();

   return mapping.findForward("//重定向定義的出錯頁面w");

  }

  return mapping.findForward("//重定向定義的正确頁面r");

 }

//解釋:w、r為Struts配置檔案中的forward節點name的值,**其中<form-bean>節點下的name的值應該與<action >節點下的name的值相同

<form-beans>

 <form-bean name="要實作添加的Form" type="com.sqc.form.BaosongqiForm" />

</form-beans>

<!-- 添加東西-->

 <action path="/add" name="要實作添加的Form" parameter="method" validate="false">

 <forward name="w" path="/出錯頁面.jsp"></forward>

 <forward name="r" path="/正确頁面.jsp"></forward>

 </action>