Struts2.0的action中的使用技巧:
Action中只是处理业务的逻辑,对服务层的业务方法进行调用的,和对象的组装;
所以action中尽量注册一个对应的服务层接口,然后每个业务,定义一个业务方法;所用的所有method,我们都是定义在了服务层中,然后通过服务层的接口进行调用的;
Action的使用:
1. 对于每个业务的实现成功之后,我们都要对message属性进行重新赋值方可;
2. 处理服务层中抛出的所有异常,并将异常信息放置到message属性中;
3. 使用WebManager来操作session、request、response方便;
4. 对于开发过程中,我们对于异常,还要使用e.printstartMessage,打印到控制台中,而在开发结束之后,我们要讲这个控制台打印去掉;
5. 开发过程中,要按ctrl+s进行保存,顺便进行代码的格式化;
====>具体事例:
/**
* 投票问题Action
*
* @author hl
*/
public class VoteAction extends ADefaultAction {
//接口
private Vote voteService ;
//数据字段
private Long voteId;
private String voteContent ;
private Date voteAddTime;
private Date voteEndTime;
//数据集合和对象
private List<LottVotePojo> voteList ;
private LottVotePojo votePojo = new LottVotePojo();
//消息
private String message;
private String pageTool ;
public VoteAction(){
// 设置分页
setPageSize(15);
setPage(1);
}
//添加投票
public String addVote(){
int compare = voteEndTime.compareTo(voteAddTime) ;
if(compare < 0){
this.message = "添加日期不能小于结束日期!";
return this.ERROR;
}
votePojo.setVoteContent(voteContent);
votePojo.setVoteAddTime(voteAddTime);
votePojo.setVoteEndTime(voteEndTime);
try {
voteService.addLottVotePojo(votePojo);
this.message = "vote添加成功!";
} catch (Exception e) {
// TODO Auto-generated catch block
this.message = e.getMessage();
return this.ERROR;
}
voteContent = "";
return this.SUCCESS;
}
//初始化列表
public String initList(){
try{
// 设置总记录数
this.setRsCount(voteService.listForPageVoteInfoCount(voteContent));
// 生成分页字符串
pageTool = getSplitPage().getSplitPage(getRsCount(), getPageSize(), getPage(), "");
// 加载数据
voteList = voteService.listForPageLottVotePojo(voteContent, this.getPage(), this.getPageSize());
}catch(Exception e){
this.message = e.getMessage();
return this.ERROR;
}
return this.SUCCESS;
}
//初始化编辑页面
public String initEdit(){
try {
votePojo = voteService.getVotePojoByVoteId(voteId);
} catch (Exception e) {
// TODO Auto-generated catch block
this.message = e.getMessage();
return this.ERROR;
}
return this.SUCCESS;
}
//编辑vote
public String editVote(){
int compare = voteEndTime.compareTo(voteAddTime) ;
if(compare < 0){
this.message = "添加日期不能小于结束日期!";
return this.ERROR;
}
votePojo.setVoteContent(voteContent);
votePojo.setVoteAddTime(voteAddTime);
votePojo.setVoteEndTime(voteEndTime);
votePojo.setVoteId(voteId);
try {
voteService.editLottVotePojo(votePojo);
this.message = "vote编辑成功";
} catch (Exception e) {
// TODO Auto-generated catch block
this.message = e.getMessage();
return this.ERROR;
}
voteContent = "";
return this.SUCCESS;
}
//删除vote
public String delVote(){
try {
voteService.deleteLottVotePojo(voteService.getVotePojoByVoteId(voteId));
this.message = "vote删除成功";
} catch (Exception e) {
// TODO Auto-generated catch block
this.message = e.getMessage();
return this.ERROR;
}
return this.SUCCESS;
}
//setter getter
public Vote getVoteService() {
return voteService;
}
public void setVoteService(Vote voteService) {
this.voteService = voteService;
}
public Long getVoteId() {
return voteId;
}
public void setVoteId(Long voteId) {
this.voteId = voteId;
}
public String getVoteContent() {
try {
return new String(voteContent.getBytes("iso-8859-1"), "utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "";
}
public void setVoteContent(String voteContent) {
this.voteContent = voteContent;
}
public Date getVoteAddTime() {
return voteAddTime;
}
public void setVoteAddTime(Date voteAddTime) {
this.voteAddTime = voteAddTime;
}
public Date getVoteEndTime() {
return voteEndTime;
}
public void setVoteEndTime(Date voteEndTime) {
this.voteEndTime = voteEndTime;
}
public List<LottVotePojo> getVoteList() {
return voteList;
}
public void setVoteList(List<LottVotePojo> voteList) {
this.voteList = voteList;
}
public LottVotePojo getVotePojo() {
return votePojo;
}
public void setVotePojo(LottVotePojo votePojo) {
this.votePojo = votePojo;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getPageTool() {
return pageTool;
}
public void setPageTool(String pageTool) {
this.pageTool = pageTool;
}
}
1215

被折叠的 条评论
为什么被折叠?



