StrutsAction示例代码

  1. //Created by MyEclipse Struts   
  2. // XSL source (default): platform:/plugin/com.genuitec.eclipse.cross.easystruts.eclipse_4.1.0/xslt/JavaClass.xsl   
  3.   
  4. package com.oa.module.affair.affairtype;  
  5.   
  6. import java.io.File;  
  7. import java.io.FileInputStream;  
  8. import java.io.FileNotFoundException;  
  9. import java.io.FileOutputStream;  
  10. import java.io.IOException;  
  11. import java.io.OutputStream;  
  12. import java.io.PrintWriter;  
  13. import java.io.UnsupportedEncodingException;  
  14. import java.lang.reflect.InvocationTargetException;  
  15. import java.util.List;  
  16. import java.util.Map;  
  17.   
  18. import com.oa.module.affair.affairdao.IAffair;  
  19. import com.oa.module.affair.affairdao.TAffair;  
  20. import com.oa.module.affair.affairpower.Transpower;  
  21. import com.oa.module.affair.affairtype.AffairTypeForm;  
  22. import com.oa.module.office.role.RoleDAO;  
  23. import com.oa.module.office.user.Tuser;  
  24. import com.oa.module.office.user.UserDAO;  
  25. import com.oa.util.ToolUtil;  
  26. import com.oa.util.XPage;  
  27.   
  28. import javax.servlet.http.HttpServletRequest;  
  29. import javax.servlet.http.HttpServletResponse;  
  30. import javax.servlet.http.HttpSession;  
  31.   
  32. import org.apache.commons.beanutils.BeanUtils;  
  33. import org.apache.struts.action.ActionForm;  
  34. import org.apache.struts.action.ActionForward;  
  35. import org.apache.struts.action.ActionMapping;  
  36. import org.apache.struts.actions.DispatchAction;  
  37. import org.apache.xalan.lib.Redirect;  
  38. import org.jdom.Document;  
  39. import org.jdom.Element;  
  40. import org.jdom.output.Format;  
  41. import org.jdom.output.XMLOutputter;  
  42. import org.springframework.web.servlet.view.RedirectView;  
  43.   
  44.   
  45. /**  
  46.  * 事务类别Action 
  47.  * MyEclipse Struts 
  48.  * Creation date: 01-20-2008 
  49.  *  
  50.  * XDoclet definition: 
  51.  * @struts.action path="/affairType" name="AffairTypeForm" input="/Jsp_file/affair/addtranstype.jsp" parameter="task" scope="request" validate="true" 
  52.  */  
  53. public class AffairTypeAction extends DispatchAction {  
  54.   
  55.     // --------------------------------------------------------- Instance Variables   
  56.     private IAffair affairdao ;  
  57.     private UserDAO userdao;  
  58.     private RoleDAO roledao;  
  59.     // --------------------------------------------------------- Methods   
  60.       
  61.     public ActionForward getlist(  
  62.             ActionMapping mapping,  
  63.             ActionForm form,  
  64.             HttpServletRequest request,  
  65.             HttpServletResponse response) throws IllegalAccessException, InvocationTargetException{  
  66.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;  
  67.             HttpSession httpsession  = request.getSession();  
  68.             Tuser user = (Tuser)httpsession.getAttribute("user");             
  69.             PrintWriter out = null;  
  70.             try {  
  71.                 out = response.getWriter();  
  72.             } catch (IOException e1) {  
  73.                 // TODO 自动生成 catch 块   
  74.                 e1.printStackTrace();  
  75.             }  
  76.   
  77.             if (user != null) {  
  78.                 int currentPage = 1;  
  79.                 try {  
  80.                     currentPage = Integer.parseInt(request.getParameter("currentPage"));  
  81.                 } catch (Exception e) {  
  82.                     currentPage = 1;  
  83.                 }  
  84.                 int count = 10;  
  85.                 Transtype typebean = new Transtype();  
  86.                 try {  
  87.                     BeanUtils.copyProperties(typebean, affairTypeForm);  
  88.                 } catch (IllegalAccessException e) {  
  89.                     // TODO Auto-generated catch block   
  90.                     e.printStackTrace();  
  91.                 } catch (InvocationTargetException e) {  
  92.                     // TODO Auto-generated catch block   
  93.                     e.printStackTrace();  
  94.                 }  
  95.                 XPage typepage = affairdao.gettypelist(currentPage, count, typebean);  
  96.                 request.setAttribute("typepage", typepage);  
  97.                 return mapping.findForward("getlist");        
  98.             }else {  
  99.                 out.print("<SCRIPT>alert('登录时间过期,请重新登录');"  
  100.                         + "window.top.location.href='" + request.getContextPath()  
  101.                         + "/Jsp_file/login/login.jsp';");  
  102.                 out.print("</SCRIPT>");  
  103.             }  
  104.             return null;  
  105.                   
  106.                   
  107.     }  
  108.     /**  
  109.      * Method execute 
  110.      * @param mapping 
  111.      * @param form 
  112.      * @param request 
  113.      * @param response 
  114.      * @return ActionForward 
  115.      * @throws InvocationTargetException  
  116.      * @throws IllegalAccessException  
  117.      * @throws IOException  
  118.      */  
  119.     public ActionForward addtype(  
  120.         ActionMapping mapping,  
  121.         ActionForm form,  
  122.         HttpServletRequest request,  
  123.         HttpServletResponse response) throws IllegalAccessException, InvocationTargetException{  
  124.         AffairTypeForm affairTypeForm = (AffairTypeForm) form;  
  125.         // TODO Auto-generated method stub   
  126.         String date = ToolUtil.getDate();  
  127.         String filename = System.currentTimeMillis() + ".xml";  
  128.         affairTypeForm.setTxmlpath(filename);  
  129.         affairTypeForm.setTtime(date);  
  130.         HttpSession httpsession  = request.getSession();  
  131.         Tuser user = (Tuser)httpsession.getAttribute("user");     
  132.         affairTypeForm.setUno(user.getUno());  
  133.         String tstep = request.getParameter("tstep");  
  134.         int count = 0;  
  135.         if(tstep!=null){  
  136.              count = Integer.parseInt(tstep);  
  137.         }  
  138.           
  139.         Transtype type = new Transtype();  
  140.         type.setTrid(request.getParameter("transroleid0"));  
  141.           
  142.         BeanUtils.copyProperties(type, affairTypeForm);  
  143.         for (int i = 0; i < count; i++) {                  
  144.             Transpower power = new Transpower();              
  145.             power.setTranstype(type);  
  146.             power.setTpid(i+1);  
  147.             power.setRqid(request.getParameter("roleid"+i));  
  148.             power.setUno(request.getParameter("userid"+i));  
  149.             type.getTranspower().add(power);              
  150.         }  
  151.         boolean flag = this.affairdao.addAffairType(type,request);            
  152. ;  
  153.         String[] transroleid = request.getParameter("transroleid0").split(",");       
  154.                   
  155.         this.affairdao.addtyperole(type.getRtid(),transroleid);  
  156.           
  157.         if (flag == true) {  
  158.             //把事务环节写到XML文件         
  159.             Document doc = new Document();  
  160.             Element root = new Element("steps");  
  161.             int stepCount = Integer.valueOf(request.getParameter("tstep")).intValue();  
  162.             for (int i = 0; i < stepCount; i++) {  
  163.                 Element step = new Element("step");  
  164.                 Element id = new Element("id");  
  165.                 id.setText("" + (i + 1));  
  166.                 Element userid = new Element("userid");  
  167.                 userid.setText(request.getParameter("userid" + i));  
  168.                 Element roleid = new Element("roleid");  
  169.                 roleid.setText(request.getParameter("roleid" + i));  
  170.                 step.addContent(id);  
  171.                 step.addContent(userid);  
  172.                 step.addContent(roleid);  
  173.                 root.addContent(step);  
  174.             }  
  175.             doc.addContent(root);  
  176.             Format format = Format.getCompactFormat();  
  177.             format.setIndent("  ");  
  178.             format.setEncoding("gb2312");  
  179.             XMLOutputter out = new XMLOutputter(format);  
  180.             OutputStream fileout = null;  
  181.             String path = servlet.getServletContext().getRealPath("upload")+"/affairXml/" + File.separator + filename;  
  182.             try {  
  183.                 fileout = new FileOutputStream(path);  
  184.                 out.output(doc, fileout);  
  185.                 response.getWriter().println("<SCRIPT>alert('添加成功');");  
  186.                 response.getWriter().println("</SCRIPT>");  
  187.                 affairTypeForm.setTask("getlist");  
  188.                 return mapping.findForward("getlist");  
  189.             } catch (FileNotFoundException e) {  
  190.                   
  191.                 try {  
  192.                     response.getWriter().print("<SCRIPT>alert('添加失败');window.history.back();</SCRIPT>");  
  193.                 } catch (IOException e1) {  
  194.                     // TODO 自动生成 catch 块   
  195.                     e1.printStackTrace();  
  196.                 }  
  197.                 // TODO 自动生成 catch 块   
  198.                 e.printStackTrace();  
  199.             } catch (IOException e) {  
  200.                 // TODO 自动生成 catch 块   
  201.                 e.printStackTrace();  
  202.             }  
  203.         }  
  204.         return null;  
  205.     }  
  206.       
  207.     public ActionForward edittype(  
  208.             ActionMapping mapping,  
  209.             ActionForm form,  
  210.             HttpServletRequest request,  
  211.             HttpServletResponse response) throws IllegalAccessException, InvocationTargetException{  
  212.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;            
  213.             String transID = request.getParameter("rtid");  
  214.             boolean flag = this.affairdao.isused(transID);  
  215.             if (flag == true) {  
  216.                     request.setAttribute("msg","该事务正在使用中,不能进行修改");  
  217.                     return new ActionForward("/Jsp_file/msg.jsp");  
  218.   
  219.             } else {  
  220.                     Map transrole = affairdao.getrole(transID);  
  221.                     Map affair = affairdao.getaffair(transID);  
  222.                     int count = Integer.valueOf(affair.get("tstep").toString()).intValue();                   
  223.                     String dir = servlet.getServletContext().getRealPath("upload")+ "//affairXml" + File.separator+ affair.get("txmlpath").toString();  
  224.                     List translist= affairdao.getSteps(dir, count);   
  225.                     if(translist==null){                          
  226.                         request.setAttribute("msg","找不到该XML文件");  
  227.                         return new ActionForward("/Jsp_file/msg.jsp");  
  228.                       
  229.                     }else{  
  230.                         request.setAttribute("translist", translist);  
  231.                         affairTypeForm.setTname(affair.get("tname").toString());  
  232.                         affairTypeForm.setRtid(Integer.parseInt(transID));  
  233.                         request.setAttribute("transrole", transrole);  
  234.                         request.setAttribute("rtid",transID);  
  235.                         affairTypeForm.setTask("editedtype");  
  236.                     }  
  237.               
  238.                 return mapping.findForward("edit");  
  239.             }             
  240.     }     
  241.     public ActionForward editedtype(  
  242.             ActionMapping mapping,  
  243.             ActionForm form,  
  244.             HttpServletRequest request,  
  245.             HttpServletResponse response) throws IllegalAccessException, InvocationTargetException{  
  246.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;        
  247.             System.out.println("edited");  
  248.             String transID = request.getParameter("rtid");  
  249.             String filename = System.currentTimeMillis() + ".xml";            
  250.             String dir = servlet.getServletContext().getRealPath("upload")+ "//affairXml";  
  251.             affairTypeForm.setTxmlpath(filename);  
  252.             affairTypeForm.setRtid(Integer.parseInt(transID));            
  253.             //先删除后再重新添加   
  254.             boolean isdel = false;  
  255.             boolean flag0 = affairdao.deltyperole(transID);  
  256.             if(flag0){  
  257.                 isdel = affairdao.delaffair(transID,dir);                 
  258.             }                         
  259.             if(isdel){  
  260.                 String date = ToolUtil.getDate();  
  261.                 affairTypeForm.setTtime(date);  
  262.                 HttpSession httpsession  = request.getSession();  
  263.                 Tuser user = (Tuser)httpsession.getAttribute("user");     
  264.                 affairTypeForm.setUno(user.getUno());  
  265.                 String tstep = request.getParameter("tstep");  
  266.                 int count = 0;  
  267.                 if(tstep!=null){  
  268.                      count = Integer.parseInt(tstep);  
  269.                 }  
  270.                 Transtype type = new Transtype();  
  271.                 type.setTrid(request.getParameter("transroleid0"));       
  272.                 BeanUtils.copyProperties(type, affairTypeForm);  
  273.                 for (int i = 0; i < count; i++) {                  
  274.                     Transpower power = new Transpower();              
  275.                     power.setTranstype(type);  
  276.                     power.setTpid(i+1);  
  277.                     power.setRqid(request.getParameter("roleid"+i));  
  278.                     power.setUno(request.getParameter("userid"+i));  
  279.                     type.getTranspower().add(power);              
  280.                 }  
  281.                 boolean flag = this.affairdao.addAffairType(type,request);    
  282.                 String[] transroleid = request.getParameter("transroleid0").split(",");                   
  283.                 this.affairdao.addtyperole(type.getRtid(),transroleid);  
  284.                 if (flag == true) {  
  285.                     //把事务环节写到XML文件         
  286.                     Document doc = new Document();  
  287.                     Element root = new Element("steps");  
  288.                     int stepCount = Integer.valueOf(request.getParameter("tstep")).intValue();  
  289.                     for (int i = 0; i < stepCount; i++) {  
  290.                         Element step = new Element("step");  
  291.                         Element id = new Element("id");  
  292.                         id.setText("" + (i + 1));  
  293.                         Element userid = new Element("userid");  
  294.                         userid.setText(request.getParameter("userid" + i));  
  295.                         Element roleid = new Element("roleid");  
  296.                         roleid.setText(request.getParameter("roleid" + i));  
  297.                         step.addContent(id);  
  298.                         step.addContent(userid);  
  299.                         step.addContent(roleid);  
  300.                         root.addContent(step);  
  301.                     }  
  302.                     doc.addContent(root);  
  303.                     Format format = Format.getCompactFormat();  
  304.                     format.setIndent("  ");  
  305.                     format.setEncoding("gb2312");  
  306.                     XMLOutputter out = new XMLOutputter(format);  
  307.                     OutputStream fileout = null;  
  308.                     String path = servlet.getServletContext().getRealPath("upload")+"//affairXml" + File.separator + filename;  
  309.                     try {  
  310.                         fileout = new FileOutputStream(path);  
  311.                         out.output(doc, fileout);  
  312.                         response.getWriter().println("<SCRIPT>alert('修改成功');");  
  313.                         response.getWriter().println("</SCRIPT>");  
  314.                         affairTypeForm.setTask("getlist");  
  315.                         return mapping.findForward("query");  
  316.                     } catch (FileNotFoundException e) {  
  317.                           
  318.                         try {  
  319.                             response.getWriter().print("<SCRIPT>alert('修改失败');window.history.back();</SCRIPT>");  
  320.                         } catch (IOException e1) {  
  321.                             // TODO 自动生成 catch 块   
  322.                             e1.printStackTrace();  
  323.                         }  
  324.                         // TODO 自动生成 catch 块   
  325.                         e.printStackTrace();  
  326.                     } catch (IOException e) {  
  327.                         // TODO 自动生成 catch 块   
  328.                         e.printStackTrace();  
  329.                     }  
  330.                 }  
  331.             }  
  332.               
  333.             return null;              
  334.     }  
  335.       
  336.     public ActionForward deltype(  
  337.             ActionMapping mapping,  
  338.             ActionForm form,  
  339.             HttpServletRequest request,  
  340.             HttpServletResponse response) throws IllegalAccessException, InvocationTargetException{  
  341.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;  
  342.             System.out.println("deltype");  
  343.             String transID = request.getParameter("rtid");    
  344.             String dir = servlet.getServletContext().getRealPath("upload")+ "/affairXml";  
  345.             affairTypeForm.setRtid(Integer.parseInt(transID));  
  346.             try {  
  347.                 boolean isdel =  false;  
  348.                 boolean flag0 = affairdao.deltyperole(transID);  
  349.                 if(flag0){  
  350.                     isdel = affairdao.delaffair(transID,dir);                 
  351.                 }         
  352.       
  353.                 if(isdel){                    
  354.                         response.getWriter().println("<SCRIPT>alert('删除成功');");  
  355.                         response.getWriter().println("</SCRIPT>");  
  356.                         affairTypeForm.setTask("getlist");  
  357.                         return mapping.findForward("query");                                          
  358.                 }else{  
  359.                     response.getWriter().print("<SCRIPT>alert('删除失败');window.history.back();</SCRIPT>");  
  360.                 }  
  361.             }catch (IOException e) {  
  362.                 try {  
  363.                     response.getWriter().print("<SCRIPT>alert('删除失败');window.history.back();</SCRIPT>");  
  364.                 } catch (IOException e1) {  
  365.                     // TODO 自动生成 catch 块   
  366.                     e1.printStackTrace();  
  367.                 }  
  368.                 // TODO 自动生成 catch 块   
  369.                 e.printStackTrace();  
  370.             }  
  371.             return null;  
  372.               
  373.     }  
  374.     public ActionForward getUserRole(  
  375.             ActionMapping mapping,  
  376.             ActionForm form,  
  377.             HttpServletRequest request,  
  378.             HttpServletResponse response) throws UnsupportedEncodingException {  
  379.             request.setCharacterEncoding("GBK");  
  380.             response.setCharacterEncoding("GBK");  
  381.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;  
  382.             List list = null;  
  383.             String type = request.getParameter("type");  
  384.             String name = request.getParameter("name");  
  385.             if (type.equals("user")) {  
  386.                 list = this.userdao.getuser();  
  387.             } else {  
  388.                 list = this.roledao.getrole();  
  389.             }  
  390.             request.setAttribute("list", list);  
  391.             request.setAttribute("type", type);  
  392.             request.setAttribute("id", name);  
  393.             return new ActionForward("/Jsp_file/affair/roleuser.jsp");  
  394.         }  
  395.       
  396.       
  397.       
  398.     public ActionForward checkname(  
  399.             ActionMapping mapping,  
  400.             ActionForm form,  
  401.             HttpServletRequest request,  
  402.             HttpServletResponse response) throws UnsupportedEncodingException {  
  403.             request.setCharacterEncoding("GBK");  
  404.             response.setCharacterEncoding("GBK");         
  405.             AffairTypeForm affairTypeForm = (AffairTypeForm) form;            
  406.             try {  
  407.                 PrintWriter out = response.getWriter();  
  408.                 String type = request.getParameter("type");               
  409.                 String message = null;  
  410.                 boolean flag = true;  
  411.                 flag = this.affairdao.checkName(affairTypeForm);                  
  412.                 if(type!=null){  
  413.                     if(type.equals("add")){  
  414.                         if(flag){  
  415.                             message ="<A style="COLOR: red">名称被使用了</A>";  
  416.                         } else {  
  417.                             message = "<A style="COLOR: #00cc00">名称可以使用</A>";  
  418.                         }  
  419.                     }else if(type.equals("edit")){    
  420.                         String rtid = request.getParameter("rtid");  
  421.                         Map bean  = affairdao.getaffair(rtid);  
  422.                         String oldname = (String) bean.get("tname");  
  423.                         System.out.println(oldname);  
  424.                         if(affairTypeForm.getTname().equals(oldname)){  
  425.                             message = "<A style="COLOR: #00cc00">名称可以修改</A>";  
  426.                         }else{  
  427.                             if(flag){  
  428.                                 message ="<A style="COLOR: red">名称被使用了</A>";  
  429.                             } else {  
  430.                                 message = "<A style="COLOR: #00cc00">名称可以使用</A>";  
  431.                             }  
  432.                         }  
  433.                     }  
  434.                     out.print(message);  
  435.                     out.flush();  
  436.                     out.close();                      
  437.                 }                 
  438.                   
  439.             } catch (IOException e) {  
  440.                 // TODO 自动生成 catch 块   
  441.                 e.printStackTrace();  
  442.             }  
  443.   
  444.             return null;  
  445.         }  
  446.   
  447.       
  448.       
  449.       
  450.     public IAffair getAffairdao() {  
  451.         return affairdao;  
  452.     }  
  453.   
  454.     public void setAffairdao(IAffair affairdao) {  
  455.         this.affairdao = affairdao;  
  456.     }  
  457.   
  458.     public UserDAO getUserdao() {  
  459.         return userdao;  
  460.     }  
  461.   
  462.     public void setUserdao(UserDAO userdao) {  
  463.         this.userdao = userdao;  
  464.     }  
  465.   
  466.     public RoleDAO getRoledao() {  
  467.         return roledao;  
  468.     }  
  469.   
  470.     public void setRoledao(RoleDAO roledao) {  
  471.         this.roledao = roledao;  
  472.     }  
  473.   
  474. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值