iteye_10091 2010-03-27 22:37
浏览 190
已采纳

SSH框架中设计问题

我遇到的疑惑

 

--action
   --CommonAction

   --AAction

   --BAction

   --CAction

 

--service

   ---AService

   ---BService

 
--service.impl

   --AServiceImpl

   --BServiceImpl 
 

--dao

  --ADao

  --BDao

 
--dao.impl

  --ADaoImpl

  --BDaoImpl

 

 

public abstract class CommonAction extends DispatchAction{

    public AService aService;

    pulbic BService bService;

   ...setter/getter

}

public class BAction extends CommonDispatchAction {

public ActionForward getList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)throws Exception {

          List<a> aList = aService.getAList();
          List<B> bList = bService.getBList(); ...}}
public class AServiceImpl implements AService {

   private ADao aDao;
   ...setter/getter

 public void add(A a) {
    aDao.add(a);
}

public List<a> getAList(){
 return aDao.getAList();
}
...
}
              

问题1:我的一个service对应一个dao,service种方法和dao中方法一模一样,而且service实现类中仅仅是调用dao方法。这种实现方法有什么不妥,好的实现方式是什么?

 

问题2:如上代码,我想在 BAction 中获得A数据或者C,D,E,F ... 数据只能先定义一个抽象类CommonAction,这样实现方法的弊端是什么,如果我想实现这个功能(在 BAction 中获得A数据或者C,DE,F数据),应该怎样设计?

  • 写回答

6条回答 默认 最新

  • nanlei1987 2010-03-29 21:03
    关注

    [code="java"] /**
    * 个人信息页跳转
    */
    public String personal() throws Exception {
    userInfo = getServMgr().getUserService().getUserInfo(getLoginUserId());
    return "personal";
    }[/code]
    userInfo是Map类型的,Action里只需准备数据集合,业务处理都是下一层的事情
    [code="java"] public Map getUserInfo(Integer userId) {
    // 取出User对象
    User user = getDAOMgr().getUserDAO().getUserById(userId);
    // 对象转换为Map
    Map userMap = objectToMap(user);
    return userMap;
    }[/code]
    就是这么个思路

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号