当前位置:首页 > 全部子站 > IT > 思科认证

struts2的demo中showcase的crud示例

来源:长理培训发布时间:2017-12-23 15:39:55

 百度广告

开始再看这个crud示例时,居然发现我没有准备数据库信息及数据也可以运行成功,后来看了实现才明白,该示例使用了Map模拟数据库存储操作数据,不过struts2的实现还是又可以观飨的地方,下面就看看它的实现。
public interface Storage extends Serializable ...{






}    很明了,定义了操作数据的几种的方法,然后实现了一种使用map存储数据的方式(当然你可以使用自己存储数据的方式实现,比如xml等等)代码 public class MemoryStorage implements Storage ...{
  private static final long serialVersionUID = 8611213748834904125L;


    if (entityClass != null) ...{
      if (tryMap == null) ...{
          tryMap = new HashMap();
        }
      return tryMap;
      return null;
  }
  private IdEntity intStore( Class entityClass, IdEntity object ) ...{
    return object;

    if (entityClass != null && id != null) ...{
    } else ...{
    }

    if (object == null) ...{
    }
      throw new CreateException("Cannot store object with null id");
    if (get(object.getClass(), object.getId()) != null) ...{
    }
  }
  public IdEntity update ( IdEntity object ) throws UpdateException ...{
      throw new UpdateException("Cannot update null object.");
    if ( get(object.getClass(), object.getId())==null ) ...{
    }
  }
  public Serializable merge ( IdEntity object ) throws StorageException ...{
      throw new StorageException("Cannot merge null object");
    if (object.getId() == null || get(object.getClass(), object.getId())==null) ...{
    } else ...{
    }

    try ...{
        getEntityMap(entityClass).remove(id);
      } else ...{
      }
      throw new CreateException(e);
  }
  public int delete( IdEntity object ) throws CreateException ...{
      throw new CreateException("Cannot delete null object");
    return delete(object.getClass(), object.getId());

    if (entityClass != null) ...{
    } else ...{
    }

    this.memory = new HashMap();

 ||| 
这样一种不使用数据库存储数据的方式就已经算完成了,不过我们需要初始几个数据怎么实现呢?struts2使用了spring的 InitializingBean 接口[Spirng的InitializingBean为bean提供了定义初始化方法的方式。InitializingBean是一个接口,它仅仅包含一个方法:afterPropertiesSet()。]代码
public class TestDataProvider implements Serializable, InitializingBean ...{
  private static final long serialVersionUID = 1L;
  private static final Logger log = Logger.getLogger(TestDataProvider.class);
  public static final String POSITIONS = ...{
      "System Architect",
      "CEO"

      "Junior",
      "Master"

      new Skill("WW-SEN", "Struts Senior Developer"),
      new Skill("SPRING-DEV", "Spring Developer")

      new Employee(new Long(1), "Alan", "Smithee", new Date(), new Float(2000f), true, POSITIONS[0],
      new Employee(new Long(2), "Robert", "Robson", new Date(), new Float(10000f), false, POSITIONS[1],
  };
  private SkillDao skillDao;

    this.skillDao = skillDao;

    this.employeeDao = employeeDao;

    try ...{
      for (int i = 0, j = TEST_SKILLS.length; i 

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部