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; } }
?
?
?
?