ssh项目具体处理Action类和接口,接口实现类的代码

当写好Struts和spring的配置文件之后,就可以开始写具体的代码了。

 

1 先看看处理类Action的

 

**
 *
 */
package cn.xxxx.trade.user.action;

import java.util.List;

import javax.annotation.Resource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.opensymphony.xwork2.ActionSupport;

public class UserInfoAction extends ActionSupport
{

	/**
	 * serialVersionUID.
	 */
	private static final long serialVersionUID = -6823936273178828935L;
	/**
	 * logger.
	 */
	private static final Log log = LogFactory.getLog(UserInfoAction.class);

	/**
	 * 注入用户信息管理接口实例.
	 */
	@Resource
	private UserInfoService userInfoService;

	/**
	 * 注入权限信息管理接口实例.
	 */
	@Resource
	private PmService pmService;

	/**
	 * 用户信息实体 .
	 */
	private UserInfo user;
	/**
	 * 用户ID DWZ框架ajax请求参数.
	 */
	private int userId;

	/**
	 * 用户id集:userIds.
	 */
	private int[] ids;

	/**
	 * 页面传参对象 dwz .
	 */
	private DwzAjax dwz;

	/**
	 * 封装组别集合的 .
	 */
	private List<PermissionGroup> pmGroupList;

	/**
	 * 分页用 pageBean.
	 */
	private PageBean pageBean;

	/**
	 * 每页记录数:numPerPage.
	 */
	private int numPerPage = 15;

	/**
	 * 当前页数:pageNum.
	 */
	private int pageNum = 1;
	//
	// /**
	// * 文件上传 .
	// */
	// private File upload;
	/**
	 * 用户所选的风格主题.
	 */
	private String theme;

	/**
	 * 查询并分页列出用户信息.
	 *
	 * @return listUserInfo.
	 */
	public final String listUserInfo()
	{
		log.info("*** search for list user info list ***");
		// 获取用户信息
		pageBean = userInfoService.queryForPage(user, numPerPage, pageNum);

		// 获取用户权限组别信息
		pmGroupList = pmService.queryGroupForPage();
		log.warn(LogTool.userLog() + "列出所有用户信息");
		return "listUserInfo";
	}

 

Action类里面也只不过是一些属性(这些属性加上setter getter后,就可以在jsp提交表单和java类之间串联的处理)还有一些方法体。里面也注入了具体操作数据库的接口方法,接下来我们来看看接口是怎么写的

 

2 接口,没有方法体的

 

package cn.xxxx.trade.user.service;

public interface UserInfoService
{
	/**
	 * 按条件查询并分页列出用户信息.
	 * 
	 * @param user
	 *        用户信息对象.
	 * @param numPerPage
	 *        每页记录数.
	 * @param pageNum
	 *        当前页数.
	 * @return userList.
	 */
	PageBean queryForPage(UserInfo user, int numPerPage, int pageNum);


}

 

可以看到interface了。那么它的具体实现类是:

 

/**
 *
 */
package cn.xxxx.trade.user.service.impl;

@Transactional
public class UserInfoServiceBean implements UserInfoService
{
	/**
	 * logger.
	 */
	private static final Log log = LogFactory.getLog(UserInfoServiceBean.class);
	/**
	 * sessionFactory .
	 */
	@Resource
	private SessionFactory sessionFactory;
	/**
	 * pageDao .
	 */
	@Resource
	private PageDao pageDao;


	/**
	 * 根据用户ID删除用户 .
	 * 
	 * @param userIds
	 *        .
	 * @return success or error .
	 */
	public final String deleteByUserIds(final int... userIds)
	{
		for (int userId : userIds)
		{
			try
			{
				UserInfo user = (UserInfo) sessionFactory.getCurrentSession().get(UserInfo.class, userId);
				log.warn(LogTool.userLog() + "删除用户信息,帐号:" + user.getUserNo() + ",姓名:" + user.getUserName());
				sessionFactory.getCurrentSession().delete(user);
			} catch (HibernateException e)
			{
				log.info("*** delete merchant by merchantId :" + userId + " exception:", e);
				break;
			}
		}
		return "success";
	}
}

 

你可能感兴趣的:(action)