⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 worklogaction.java

📁 一个基于spring
💻 JAVA
字号:
package com.demo.struts2.actions;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.demo.hibernate.beans.Worklog;
import com.demo.hibernate.dao.WorklogDAO;
import com.demo.struts2.common.PageAction;
import com.demo.struts2.util.Constants;
import com.demo.struts2.util.Pager;
import com.demo.struts2.util.RegExpression;

public class WorklogAction extends PageAction {

	private static final long serialVersionUID = 1L;

	private WorklogDAO worklogDAO;

	protected String id = null;

	protected String username = null;

	protected String year = null;

	protected String month = null;

	protected String day = null;

	protected String title = null;

	protected String description = null;

	protected String logtime = null;
	
	// 新增或修改时执行表单验证
	public void validate() {
		// 清除错误消息
		clearErrorsAndMessages();

		// 取得请求参数
		String queryString = getRequestPath();
		if (queryString.indexOf("worklogadd!insert") != -1
				|| queryString.indexOf("worklogedit!update") != -1) {
			// 检查表单字段year
			Pattern p_year = Pattern.compile(RegExpression.REG_year);
			Matcher m_year = p_year.matcher(year);
			if (!m_year.find()) {
				addFieldError("year", getText("worklog.error.year"));
			}

			// 检查表单字段month
			Pattern p_month = Pattern.compile(RegExpression.REG_month);
			Matcher m_month = p_month.matcher(month);
			if (!m_month.find()) {
				addFieldError("month", getText("worklog.error.month"));
			}

			// 检查表单字段day
			Pattern p_day = Pattern.compile(RegExpression.REG_day);
			Matcher m_day = p_day.matcher(day);
			if (!m_day.find()) {
				addFieldError("day", getText("worklog.error.day"));
			}

			// 检查表单字段title
			if (title == null || title.equals("")) {
				addFieldError("title", getText("worklog.error.title"));
			}

			// 检查表单字段description
			if (description == null || description.equals("")) {
				addFieldError("description", getText("worklog.error.description"));
			}
		}
	}

	// 请求worklogInit.do的处理函数
	public String init() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// 重设分页参数
		super.pageSize = Constants.pageSize;
		super.pageNo = Constants.pageNo;

		// 取得当前分页数据
		super.pager = this.getWorklogDAO().findPagerByUsername(super
				.getLoginUsername(), super.pageSize, super.pageNo);

		// 保存分页数据
		setSession(Constants.PAGER_WORKLOG, super.pager);

		return Constants.LIST_KEY;
	}

	// 请求worklogList.do的处理函数
	public String list() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// 取得当前分页数据
		super.pager = this.getWorklogDAO().findPagerByUsername(super
				.getLoginUsername(), super.pageSize, super.pageNo);

		// 保存分页数据
		setSession(Constants.PAGER_WORKLOG, super.pager);

		return Constants.LIST_KEY;
	}

	// 请求worklogAdd.do的处理函数
	public String add() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// 重设各表单字段
		reset();
		return Constants.ADD_KEY;
	}

	// 重设各表单字段
	private void reset() {
		setId(null);
		setUsername(null);
		setYear(null);
		setMonth(null);
		setDay(null);
		setTitle(null);
		setDescription(null);
		setLogtime(null);
	}

	// 给表单字段赋值
	private void bean2Form(Worklog worklog) {
		setId(worklog.getId().toString());
		setUsername(worklog.getUsername());
		setYear(worklog.getYear().toString());
		setMonth(worklog.getMonth().toString());
		setDay(worklog.getDay().toString());
		setTitle(worklog.getTitle());
		setDescription(worklog.getDescription());
		setLogtime(worklog.getLogtime());
	}

	// 请求worklogEdit.do的处理函数
	public String edit() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// id为空时返回错误
		if (this.getId() == null) {
			saveActionError("worklog.message.edit.notexist");
			return Constants.LIST_KEY;
		} else {
			// 查询数据表
			Worklog worklog = this.getWorklogDAO().findById(id);

			// 不存在时返回错误
			if (worklog == null) {
				saveActionError("worklog.message.edit.notexist");
				return Constants.LIST_KEY;
			} else {
				// 给表单字段赋值
				bean2Form(worklog);
				return Constants.EDIT_KEY;
			}
		}
	}

	// 请求worklogInsert.do的处理函数
	public String insert() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();
		
		// 插入数据表
		Worklog worklog = new Worklog();
		worklog.setUsername(super.getLoginUsername());
		worklog.setYear(Integer.valueOf(this.year));
		worklog.setMonth(Integer.valueOf(this.month));
		worklog.setDay(Integer.valueOf(this.day));
		worklog.setTitle(this.title);
		worklog.setDescription(this.description);
		worklog.setLogtime(getLogtime());
		this.getWorklogDAO().insert(worklog);		

		// 取得缓存的分页参数
		Pager pagerSession = (Pager) getSession(Constants.PAGER_WORKLOG);
		super.pageSize = pagerSession.getPageSize();
		super.pageNo = pagerSession.getPageNo();

		// 查询当前页的数据
		super.pager = this.getWorklogDAO().findPagerByUsername(super
				.getLoginUsername(), super.pageSize, super.pageNo);
	
		// 保存成功信息
		saveActionMessage("worklog.message.add.success");
		return Constants.LIST_KEY;
	}

	// 请求worklogUpdate.do的处理函数
	public String update() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// 更新数据表
		Worklog worklog = new Worklog();
		worklog.setId(new Integer(id));
		worklog.setUsername(super.getLoginUsername());
		worklog.setYear(Integer.valueOf(this.getYear()));
		worklog.setMonth(Integer.valueOf(this.getMonth()));
		worklog.setDay(Integer.valueOf(this.getDay()));
		worklog.setTitle(this.getTitle());
		worklog.setDescription(this.getDescription());
		worklog.setLogtime(this.getLogtime());
		worklogDAO.update(worklog);

		// 给表单字段赋值
		bean2Form(worklog);
		
		// 取得缓存的分页参数
		Pager pagerSession = (Pager) getSession(Constants.PAGER_WORKLOG);
		super.pageSize = pagerSession.getPageSize();
		super.pageNo = pagerSession.getPageNo();

		// 查询当前页的数据
		super.pager = this.worklogDAO.findPagerByUsername(super
				.getLoginUsername(), super.pageSize, super.pageNo);

		saveActionMessage("worklog.message.edit.success");
		return Constants.LIST_KEY;

	}

	// 请求worklogDelete.do的处理函数
	public String delete() throws Exception {
		// 清除错误消息
		clearErrorsAndMessages();

		// id为空时返回错误
		if (this.getId() == null) {
			saveActionError("worklog.message.edit.notexist");
		} else {
			// 删除数据
			this.getWorklogDAO().delete(id);
			saveActionMessage("worklog.message.delete.success");
		}
		// 取得当前页的数据
		super.pager = this.getWorklogDAO().findPagerByUsername(super
				.getLoginUsername(), super.pageSize, super.pageNo);

		return Constants.LIST_KEY;
	}

	public WorklogDAO getWorklogDAO() {
		return worklogDAO;
	}

	public void setWorklogDAO(WorklogDAO worklogDAO) {
		this.worklogDAO = worklogDAO;
	}

	public String getLogtime() {
		SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");			
		logtime = f.format(new Date());
		return logtime;
	}

	public void setLogtime(String logtime) {
		this.logtime = logtime;
	}

	public String getDay() {
		return day;
	}

	public void setDay(String day) {
		this.day = day;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getMonth() {
		return month;
	}

	public void setMonth(String month) {
		this.month = month;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getYear() {
		return year;
	}

	public void setYear(String year) {
		this.year = year;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -