这个action只是向数据库save一条纪录。
通过这个action写出[color=#FF0000]dao实现,service实现?复制代码就可以了,也不用写[/color]
我是分不清哪些是dao实现里的,哪些是service实现里的?
public class AddTopicAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException {

request.setCharacterEncoding("utf-8");

String topic=request.getParameter("topic");
String topiccontent=request.getParameter("topiccontent");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String releasetime=sdf.format(new Date());
int userid=Integer.parseInt(request.getParameter("userid"));

Bbstopic bt=new Bbstopic();
bt.setTopic(topic);
bt.setTopiccontent(topiccontent);
bt.setReleasetime(releasetime);
bt.setBbsusers((Bbsusers)session.load(Bbsusers.class, userid));  //外键字段

Session session=HibernateSessionFactory.getSession();
session.beginTransaction();
session.save(bt);
session.getTransaction().commit();
session.close();

return mapping.findForward("addTopicSuccess");
}
}
po类:Bbstopic.java
public class Bbstopic implements java.io.Serializable { private Integer topicid;
private Bbsusers bbsusers;
private String topic;
private String topiccontent;
private String releasetime;
private Set bbsreplies = new HashSet(0);
        .......get,set方法就不写了.

解决方案 »

  1.   

    通过这个action写出dao实现,service实现?复制代码就可以了,也不用写
      

  2.   

    操作数据库的代码写到dao里,涉及业务的代码写到service里
    也就是action调用service,service里调用dao
      

  3.   

    下面这些代码是写在service实现里,还是写在action里封装好再传给service实现??????Bbstopic bt=new Bbstopic(); 
    bt.setTopic(topic); 
    bt.setTopiccontent(topiccontent); 
    bt.setReleasetime(releasetime); 
    bt.setBbsusers((Bbsusers)session.load(Bbsusers.class, userid));  
      

  4.   

    Session session=HibernateSessionFactory.getSession(); 
    session.beginTransaction(); 
    session.save(bt); 
    session.getTransaction().commit(); 
    session.close(); 
    写到DAO里,
    String topic=request.getParameter("topic"); 
    String topiccontent=request.getParameter("topiccontent"); 
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    String releasetime=sdf.format(new Date()); 
    int userid=Integer.parseInt(request.getParameter("userid")); Bbstopic bt=new Bbstopic(); 
    bt.setTopic(topic); 
    bt.setTopiccontent(topiccontent); 
    bt.setReleasetime(releasetime); 
    bt.setBbsusers((Bbsusers)session.load(Bbsusers.class, userid)); 
    写到service里
      

  5.   

    开始有点明白了,不过参数还不知道怎么传到service,我回去试试先
      

  6.   


    action里面的
    --------------------------------------------
    public class AddTopicAction extends Action { 
    public ActionForward execute(ActionMapping mapping, ActionForm form, 
    HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException { request.setCharacterEncoding("utf-8"); String topic=request.getParameter("topic"); 
    String topiccontent=request.getParameter("topiccontent"); 
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    String releasetime=sdf.format(new Date()); 
    int userid=Integer.parseInt(request.getParameter("userid")); Bbstopic bt=new Bbstopic(); 
    bt.setTopic(topic); 
    bt.setTopiccontent(topiccontent); 
    bt.setReleasetime(releasetime); 
    bt.setBbsusers((Bbsusers)session.load(Bbsusers.class, userid)); 
    ----------------------------------------
    DAO层里的
    ------------------------------------------
    Session session=HibernateSessionFactory.getSession(); 
    session.beginTransaction(); 
    session.save(bt); 
    session.getTransaction().commit(); 
    session.close(); return mapping.findForward("addTopicSuccess");