基于SSH(spring+struts2+hibernate)的新闻系统(三)

基于SSH(spring+struts2+hibernate)的新闻系统(三)

上次我们学习如何简单的使用ssh框架,利用ssh框架进行了一个简单的查询,这次我们学习如何实现增删改查其他三个功能。

分类管理

一、 增加分类

前面我们已经建立了Category这个实体,下面我们可以之间进行写Service,现在CategoryService接口中增加一个方法,然后在CategoryServiceImpl类中去实现这个方法,在实现这个方法是,我们是直接使用前面注入的dao来实现的,可以看出,我们只要提供一个Categeory的实
体进去,就能够调用该方法。

public interface CategoryService {
	
	public List list();
	
	public void addCategory(Category category);
	
}
@Service
public class CategoryServiceImpl implements CategoryService{
	
	@Autowired DAOImpl dao;

	@Override
	public List list() {
		// TODO Auto-generated method stub
		DetachedCriteria dc = DetachedCriteria.forClass(Category.class);
        dc.addOrder(Order.desc("id"));
        return dao.findByCriteria(dc);
	}

	@Override
	public void addCategory(Category category) {
		// TODO Auto-generated method stub
		dao.save(category);
	}
	
}

然后,在CategoryAction中创建一个@Action(“addcategory”)对应一个add方法,然后在前端页面去调用这个action就可以实现这个方法。在这里我们先调用category.getId()方法,这是我们增加这个实体的id自动增长需要的,然后可以在控制台打印出来我们的category分类,最后通过categoryService的addCategory()方法来实现添加功能。然后返回一个字符串,然后通过@Result来进行视图的实现

	@Action("addcategory")
	public String add(){
		category.getId();
		//System.out.println(category);
		categoryService.addCategory(category);
		return "categorylistpage";		
	}

这里我们在进行result映射时与查询是不一样的,我们将它返到"categorylistpage"中,然后通过redirect来进行跳转到listcategory这个action中,这样就可以实现我们添加完成之后,然后页面又跳转回查询分类的页面,这样就将刚才添加的分类也刷新到了页面当中

@Results(
        {
            /*分类管理*/        
        	@Result(name="categorylist", location="/WEB-INF/jsp/list_category.jsp"),
        	@Result(name="categorylistpage", type = "redirect", location="/listcategory"),
        }
        )

然后在自己的前端页面增加一个提交的表单,通过表单来执行action就可以实现增加分类到数据库中,例如下面的简单的表单

<form action="addcategory" method="post" id="addForm" > 
	<div>
                <span class="label label-danger">添加分类</span>
	</div>
	<div>
		<label >分类名称:</label>
		<input type="text" id="name" name="category.name" placeholder="**新闻">
	</div>
	<button type="submit" class="btn btn-primary">添加</button>
 </form>

在这里插入图片描述

点击添加按钮,如果能够在控制台打印出如下的sql语句就表示成功了。

在这里插入图片描述

二、删除分类
删除分类与增加分类类似,我们首先是需要在CategoryService接口中增加方法,然后在CategoryServiceImpl 方法中去实现它。

public interface CategoryService {
	
	public List list();
	
	public void addCategory(Category category);
	
	public void deleteCategoryById(Category category);
	
}
	@Override
	public void deleteCategoryById(Category category) {
		// TODO Auto-generated method stub
		dao.delete(category);
	}

接着是要在CategoryAction中创建一个@Action(“deletecategory”)对应一个delete方法,然后在前端页面去调用这个action就可以实现这个方法。

	@Action("deletecategory")
	public String delete() {
		categoryService.deleteCategoryById(category);
		return "categorylistpage";
	}

然后就可以在前端做一个超链接来调用这个方法

<a deleteLink="true" href="deletecategory?category.id=${cs.id}">删除</a>

当点击这个超链接时,就能够通过分类的ID来删除数据库中的该分类,在控制台能够打印以下的sql语句就表示成功。

在这里插入图片描述

三、总结
由于分类的管理比较少,我们一般就不会进行修改(更新)操作,所以就没有进行编写,但是我们会在后面的新闻管理中进行介绍。
学习JAVA的地址(http://how2j.cn?p=58979)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值