easyui用来做后台管理还是很方便的,这两天又添加了几个小功能其中一个是添加公告。可以包括前台的公告。还有后台给管理员看的公告。后端实现的还是很粗糙的。实际项目中,公告具体出现的位置还有时机都应该是固定的。所以可以事先为这些公告定义标示,创建表结构中指定主键唯一标示这些公告。到时候通过主键获取公告。但是由于我现在需求还是不清晰。并不知道需要多少公告。所以添加公告时需要管理员为公告指定主键。等项目完成,添加公告时就不能再让管理员主键了,毕竟他不是程序员。
1.公告显示
当管理员点击菜单栏中的公告管理时,右侧出现上述窗口。上一篇博客已经说明了如何使用datagrid控件从后台取数据,以及优雅的实现分页功能。这里就不多说了。现在要做的就是新增,编辑,删除功能。现在一条条来。先来新建公告吧
2.新建公告。
2.1建立数据库表结构
其中notice就是标示公告的主键,名字,还有程序员通过这个字段查询公告。所以要设为候选键,决不能重复,我这里没设,心里明白就行了,description作为与notice同对出现的。是对notice的解释。指示这个公告的位置,功能的。
title标示公告的标题。content标示公告的内容。time作为时间,简单的一个表。暂时没有需求添加其他字段,(待添加的包括修改人,所需权限《我认为权限最好定义在表结构中,单纯依赖数据库提供的功能,还是不太好》,修改ID(关于修改的信息,到时候可以调出来这个公告的变动情况),其他暂时没想到)
2.2定义dao,service层。
关于这两层我不想多说,都快写吐了,我用的是hibernate,这段时间一直在封装。定义了BaseDao,及增删改查的标准实现。基本上每一个表的dao直接继承此类。其它功能不用填了。上代码吧
public class BaseDao {
public SessionFactory sessionFactory;
private Session session=null;
/**
* @param obj
* @return
*/
public void CloseSession()
{
if(session!=null)
{
//�ر�session
session.close();
}
}
public BaseDao()
{
}
public BaseDao(SessionFactory sf)
{
sessionFactory = sf;
HibernateUtil.SetSessionFactory(sessionFactory);
}
public boolean add(Object obj)
{
Transaction tran=null;
boolean result=false;
try
{
Session session= sessionFactory.openSession();
tran=session.beginTransaction();
session.save(obj);
tran.commit();
result=true;
}
catch (Exception e)
{
if(tran!=null)
{
//����ع�
tran.rollback();
}
}
finally
{
if(session!=null)
{
session.close();
}
}
return result;
}
/**
* @return �������
* ����Ϊ�ĵ�����id����
*/
public boolean update(Object object)
{
// Session session=null;
Transaction tran=null;
boolean result=false;
try
{
Session session= sessionFactory.openSession();
tran=session.beginTransaction();
session.update(object);
tran.commit();
result=true;