?? worklogaction.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 + -