关于Struts2 Action中get和set惹得祸。

代码:

 1 public class RandomAction extends PageAction {
 2     
 3     /**随机抽取**/
 4     private IRandomService randomService;
 5     
 6     /**责任民警**/
 7     private IScZrmjService scZrmjService;
 8     
 9     /**企业基本信息**/
10     private IQyjbxxService qyjbxxService;
11     
12     private User user;
13     
14     //private Map randomMap=new HashMap();
15 
16     public void setRandomService(IRandomService randomService) {
17         this.randomService = randomService;
18     }
19     
20     public void setScZrmjService(IScZrmjService scZrmjService) {
21         this.scZrmjService = scZrmjService;
22     }
23 
24     public void setQyjbxxService(IQyjbxxService qyjbxxService) {
25         this.qyjbxxService = qyjbxxService;
26     }
27 
28     /**
29      * 获取随机抽取责任民警列表
30      * @return
31      */
32     public String queryRandomZrmjList(){
33         //randomMap.put("zrmjList", this.getRandomZrmjList());
34         //randomMap.put("qyjbxxList", this.getRandomQyjbxxList());
35         return "success";
36     }
37     
38     /**
39      * 获取随机抽取责任民警列表
40      * @return
41      */
42     @SuppressWarnings("unchecked")
43     public List<Zrmjfghy> getRandomZrmjList(){
44         ActionContext ctx = ActionContext.getContext();
45         HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
46         HttpSession session= request.getSession();
47         user= (User)session.getAttribute(Constants.userKey);
48         Integer _deptId=user.getDepartid();
49         Zrmjfghy _getZrmj=new Zrmjfghy();
50         if(_deptId==2){
51             _getZrmj.setGxdwbm("");
52         }else{
53             _getZrmj.setGxdwbm(_deptId+"");
54         }
55         return scZrmjService.getRandomZrmjList(_getZrmj);
56     }
57     
58     /**
59      * 获取随机企业列表
60      * @return
61      */
62     @SuppressWarnings("unchecked")
63     public List<Qyjbxx> getRandomQyjbxxList(){
64         ActionContext ctx = ActionContext.getContext();
65         HttpServletRequest request = (HttpServletRequest)ctx.get(ServletActionContext.HTTP_REQUEST);
66         HttpSession session= request.getSession();
67         user= (User)session.getAttribute(Constants.userKey);
68         String _deptCode=user.getDepartcode();
69         Qyjbxx _getQyjbxx=new Qyjbxx();
70         _getQyjbxx.setGxdwbm(_deptCode);
71         return qyjbxxService.getListQyjbxx(_getQyjbxx);
72     }
73 
74 }
View Code

首先只有queryRandomZrmjList()方法的时候程序完全可以执行。没什么问题。之后觉得这个方法中代码太多。便拆分为getRandomZrmjList()和getRandomQyjbxxList()。这下可愁死了突然间程序变得很慢。浏览器和MyEclipse会死掉。愁死人了。怎么也没找到原因。经过数小时的奋斗。在get。set变量的时候。灵感一发。方法前加get似乎有问题。。。因为Struts2内部机制。所以getRandomZrmjList()和getRandomQyjbxxList()会被当做get和set执行。讲两个方法名改成不以get和set开头之后。程序运行完全没有问题。


 

posted on 2016-01-14 09:09  风-少  阅读(1759)  评论(0编辑  收藏  举报

导航