`

java 树形结构设计(三) Struts + Hibernate

    博客分类:
  • JAVA
阅读更多

step 6、 Struts Action 类

java 代码
  1. /**  
  2.  * 地理信息  
  3.  */  
  4. package com.fzfx88.base.action;   
  5.   
  6. import java.util.ArrayList;   
  7. import java.util.List;   
  8.   
  9. import javax.servlet.http.HttpServletRequest;   
  10. import javax.servlet.http.HttpServletResponse;   
  11.   
  12. import org.apache.log4j.Logger;   
  13. import org.apache.struts.action.ActionForm;   
  14. import org.apache.struts.action.ActionForward;   
  15. import org.apache.struts.action.ActionMapping;   
  16.   
  17. import com.fzfx88.base.form.GeographyForm;   
  18. import com.fzfx88.base.service.DictService;   
  19. import com.fzfx88.base.service.GeographyService;   
  20. import com.fzfx88.common.Constants;   
  21. import com.fzfx88.common.UserInfo;   
  22. import com.fzfx88.common.base.BaseAction;   
  23. import com.fzfx88.po.base.DimGeography;   
  24.   
  25. /**  
  26.  * @author huguoqing  
  27.  *  
  28.  */  
  29. public class GeographyAction extends BaseAction {   
  30.     public static Logger log=Logger.getLogger(GeographyAction.class);   
  31.     /**  
  32.      * 地理信息树结构初始化参数设置  
  33.      * @param mapping  
  34.      * @param form  
  35.      * @param request  
  36.      * @param response  
  37.      * @return ActionForward  
  38.      */  
  39.     public ActionForward inittree(ActionMapping mapping,ActionForm form,   
  40.             HttpServletRequest request,HttpServletResponse response){   
  41.         return mapping.findForward("inittree");   
  42.     }   
  43.     /**  
  44.      * 地理信息初始化  
  45.      * @param mapping  
  46.      * @param form  
  47.      * @param request  
  48.      * @param response  
  49.      * @return  
  50.      */  
  51.     public ActionForward init(ActionMapping mapping,ActionForm form,   
  52.             HttpServletRequest request,HttpServletResponse response){   
  53.         GeographyForm gForm = (GeographyForm)form;   
  54.         DimGeography po = gForm.getGeography();   
  55.            
  56.         GeographyService gService = new GeographyService();   
  57.         DictService dService = new DictService();   
  58.         /**取得cityType和cityType2列表**/  
  59.         List cityList1 = dService.queryDictItem(Constants.CITY_TYPE1,true);   
  60.         List cityList2 = dService.queryDictItem(Constants.CITY_TYPE2,true);   
  61.         gForm.setCityTypeList1(cityList1);   
  62.         gForm.setCityTypeList2(cityList2);   
  63.         /**取得当前节点下所有字节点**/  
  64.         List geographyList = new ArrayList();   
  65.         if(gForm.getGeographyID()!=null&&!gForm.getGeographyID().equals("")){   
  66.             int geographyId = Integer.parseInt(gForm.getGeographyID());   
  67.             String usageFlag = "1";   
  68.             geographyList = gService.queryGeographyByParentId(geographyId,usageFlag);              
  69.         }   
  70.         gForm.setGeographyList(geographyList);   
  71.         /**根据页面传来的地理信息id,获得对应地理信的相关信息**/  
  72.         if(gForm.getId()!=null&&!gForm.getId().equals("")){   
  73.             po = gService.queryGeography(Integer.valueOf(gForm.getId()));   
  74.         }   
  75.         gForm.setGeography(po);   
  76.         return mapping.findForward("init");   
  77.     }   
  78.     /**  
  79.      * 新增地理信息  
  80.      * @param mapping  
  81.      * @param form  
  82.      * @param request  
  83.      * @param response  
  84.      * @return  
  85.      */  
  86.     public ActionForward create(ActionMapping mapping,ActionForm form,   
  87.             HttpServletRequest request,HttpServletResponse response){   
  88.         GeographyForm gForm = (GeographyForm)form;   
  89.         DimGeography po = gForm.getGeography();   
  90.         GeographyService gService = new GeographyService();   
  91.         UserInfo user = this.getCurrentUser(request);   
  92.            
  93.         /**  
  94.          * 设置po的treeCode  
  95.          */        
  96.         if(gForm.getGeographyID()!=null&&!gForm.getGeographyID().equals("")){   
  97.             String parentId = gForm.getGeographyID();   
  98.             /**取得当前节点对应的 地理信息类**/  
  99.             DimGeography graphy = gService.queryGeography(Integer.valueOf(parentId));    
  100.             /**设置GeographyLevel**/  
  101.             String level = String.valueOf(graphy.getGeographyLevel().intValue()+1);   
  102.             po.setGeographyLevel(Integer.valueOf(level));   
  103.             /**取得当前节点的treeCode**/  
  104.             String treeCode = graphy.getGeoTreeCode();   
  105.                
  106.             String usageFlag = "1";   
  107.             /**取得当前节点下所有字节点列表**/  
  108.             List childGeo = gService.queryGeographyByParentId(Integer.parseInt(parentId),usageFlag);   
  109.             if(childGeo.isEmpty()){   
  110.                 po.setGeoTreeCode(treeCode+"001");   
  111.             }else{   
  112.                 /**取得当前子列表里面treeCode最大的节点**/  
  113.                 DimGeography maxGraphy = (DimGeography)childGeo.get(0);   
  114.                 /**取得当前最大子节点的treeCode**/  
  115.                 String maxBrothorTreeCode = maxGraphy.getGeoTreeCode();   
  116.                 /**将当前treeCode拆分为俩个字符串**/  
  117.                 String subFirstTreeCode = maxBrothorTreeCode.substring(0,maxBrothorTreeCode.length()-3);   
  118.                 String subSecondTreeCode = maxBrothorTreeCode.substring(maxBrothorTreeCode.length()-3,maxBrothorTreeCode.length());   
  119.                 String currentCode = String.valueOf(1000 + Integer.parseInt(subSecondTreeCode) + 1);   
  120.                 String newTreeCode = currentCode.substring(1,currentCode.length());   
  121.                 String poTreeCode =subFirstTreeCode + newTreeCode;   
  122.                 po.setGeoTreeCode(poTreeCode);   
  123.             }   
  124.         }   
  125.         /**设置po的父id**/  
  126.         DictService dictService = new DictService();   
  127.         po.setParentGeographyId(Integer.valueOf(gForm.getGeographyID()));   
  128.         po.setParentGeo(Integer.valueOf(gForm.getGeographyID()));   
  129.         if(gForm.getCityType1()!=null&&!gForm.getCityType1().equals("")){   
  130.             po.setCityType1(dictService.retrieveDictitem(gForm.getCityType1()));   
  131.                
  132.         }   
  133.         if(gForm.getCityType1()!=null&&!gForm.getCityType1().equals("")){   
  134.             po.setCityType2(dictService.retrieveDictitem(gForm.getCityType2()));   
  135.                
  136.         }   
  137.         /********字符处理***********/  
  138.         String geoName = po.getGeographyName();   
  139.         String newGeoName = geoName.replace('\'','’').trim();   
  140.         po.setGeographyName(newGeoName);   
  141.         String geoNameEN = po.getGeographyNameEn();   
  142.         String newGeoNameEN = geoNameEN.replace('\'','’').trim();   
  143.         po.setGeographyNameEn(newGeoNameEN);   
  144.         String geoCode = po.getGeographyCode();   
  145.         String newGeoCode = geoCode.replace('\'','’').trim();   
  146.         po.setGeographyCode(newGeoCode);   
  147.         /********数据提交*************/  
  148.         gService.createGeography(po,user);   
  149.         return mapping.findForward("success");   
  150.     }   
  151.     /**  
  152.      * 修改地理信息  
  153.      * @param mapping  
  154.      * @param form  
  155.      * @param request  
  156.      * @param response  
  157.      * @return  
  158.      */  
  159.     public ActionForward modify(ActionMapping mapping,ActionForm form,   
  160.             HttpServletRequest request,HttpServletResponse response){   
  161.         GeographyForm gForm = (GeographyForm)form;   
  162.         UserInfo user = this.getCurrentUser(request);   
  163.         DimGeography po = gForm.getGeography();   
  164.         GeographyService gService = new GeographyService();   
  165.         DimGeography vo = gService.queryGeography(Integer.valueOf(gForm.getListId()));   
  166.         vo.setGeographyName(po.getGeographyName().replace('\'','’').trim());   
  167.         vo.setGeographyNameEn(po.getGeographyNameEn().replace('\'','’').trim());   
  168.         vo.setGeographyCode(po.getGeographyCode().replace('\'','’').trim());   
  169.         DictService dictService = new DictService();   
  170.         if(gForm.getCityType1()!=null&&!gForm.getCityType1().equals("")){   
  171.             vo.setCityType1(dictService.retrieveDictitem(gForm.getCityType1()));   
  172.                
  173.         }   
  174.         if(gForm.getCityType2()!=null&&!gForm.getCityType2().equals("")){   
  175.             vo.setCityType2(dictService.retrieveDictitem(gForm.getCityType2()));   
  176.                
  177.         }   
  178.         gService.updateGeography(vo,user);   
  179.         return mapping.findForward("success");   
  180.     }   
  181.     /**  
  182.      * 作废地理信息  
  183.      * @param mapping  
  184.      * @param form  
  185.      * @param request  
  186.      * @param response  
  187.      * @return  
  188.      */  
  189.     public ActionForward delete(ActionMapping mapping,ActionForm form,   
  190.             HttpServletRequest request,HttpServletResponse response){   
  191.         GeographyForm gForm = (GeographyForm)form;   
  192.         UserInfo user = this.getCurrentUser(request);   
  193. //      DimGeography po = gForm.getGeography();   
  194.         GeographyService gService = new GeographyService();   
  195.         DimGeography vo = gService.queryGeography(Integer.valueOf(gForm.getListId()));   
  196.         String usageFlag = "0";   
  197.         vo.setUsageFlag(usageFlag);   
  198.         gService.updateGeography(vo,user);   
  199.         return mapping.findForward("success");   
  200.     }   
  201. }   

step 7、Form 类

java 代码
  1. /**  
  2.  * 地理信息  
  3.  */  
  4. package com.winchannel.base.form;   
  5.   
  6. import java.util.List;   
  7. import com.winchannel.common.base.BaseForm;   
  8. import com.winchannel.po.base.DimGeography;   
  9. /**  
  10.  * @author huguoqing  
  11.  *  
  12.  */  
  13. public class GeographyForm extends BaseForm {   
  14.     private DimGeography geography = new DimGeography();   
  15.        
  16.     private List geographyList;   
  17.     private String geographyTypeID;    
  18.     private List   cityTypeList1;   
  19.     private String cityType1;      
  20.     private List   cityTypeList2;   
  21.     private String cityType2;      
  22.     private String geographyID;//页面传来的 id值   
  23.     private String graphyName;   
  24.     private String graphyNameEn;   
  25.     private String graphyCode;   
  26.     private String cityLevel;   
  27.     private String graphyLevel;   
  28.     private String id;   
  29.     private String state;   
  30.     private String listId;   
  31.        
  32.   
  33.     /**  
  34.      * @return Returns the state.  
  35.      */  
  36.     public String getState() {   
  37.         return state;   
  38.     }   
  39.   
  40.     /**  
  41.      * @param state The state to set.  
  42.      */  
  43.     public void setState(String state) {   
  44.         this.state = state;   
  45.     }   
  46.   
  47.     /**  
  48.      * @return Returns the geography.  
  49.      */  
  50.     public DimGeography getGeography() {   
  51.         return geography;   
  52.     }   
  53.   
  54.     /**  
  55.      * @param geography The geography to set.  
  56.      */  
  57.     public void setGeography(DimGeography geography) {   
  58.         this.geography = geography;   
  59.     }   
  60.   
  61.     /**  
  62.      * @return Returns the id.  
  63.      */  
  64.     public String getId() {   
  65.         return id;   
  66.     }   
  67.   
  68.     /**  
  69.      * @param id The id to set.  
  70.      */  
  71.     public void setId(String id) {   
  72.         this.id = id;   
  73.     }   
  74.   
  75.     /**  
  76.      * @return Returns the cityLevel.  
  77.      */  
  78.     public String getCityLevel() {   
  79.         return cityLevel;   
  80.     }   
  81.   
  82.     /**  
  83.      * @param cityLevel The cityLevel to set.  
  84.      */  
  85.     public void setCityLevel(String cityLevel) {   
  86.         this.cityLevel = cityLevel;   
  87.     }   
  88.   
  89.     /**  
  90.      * @return Returns the graphyCode.  
  91.      */  
  92.     public String getGraphyCode() {   
  93.         return graphyCode;   
  94.     }   
  95.   
  96.     /**  
  97.      * @param graphyCode The graphyCode to set.  
  98.      */  
  99.     public void setGraphyCode(String graphyCode) {   
  100.         this.graphyCode = graphyCode;   
  101.     }   
  102.   
  103.     /**  
  104.      * @return Returns the graphyLevel.  
  105.      */  
  106.     public String getGraphyLevel() {   
  107.         return graphyLevel;   
  108.     }   
  109.   
  110.     /**  
  111.      * @param graphyLevel The graphyLevel to set.  
  112.      */  
  113.     public void setGraphyLevel(String graphyLevel) {   
  114.         this.graphyLevel = graphyLevel;   
  115.     }   
  116.   
  117.     /**  
  118.      * @return Returns the graphyName.  
  119.      */  
  120.     public String getGraphyName() {   
  121.         return graphyName;   
  122.     }   
  123.   
  124.     /**  
  125.      * @param graphyName The graphyName to set.  
  126.      */  
  127.     public void setGraphyName(String graphyName) {   
  128.         this.graphyName = graphyName;   
  129.     }   
  130.     /**  
  131.      * @return Returns the graphyNameEn.  
  132.      */  
  133.     public String getGraphyNameEn() {   
  134.         return graphyNameEn;   
  135.     }   
  136.     /**  
  137.      * @param graphyNameEn The graphyNameEn to set.  
  138.      */  
  139.     public void setGraphyNameEn(String graphyNameEn) {   
  140.         this.graphyNameEn = graphyNameEn;   
  141.     }   
  142.     /**  
  143.      * @return Returns the geographyID.  
  144.      */  
  145.     public String getGeographyID() {   
  146.         return geographyID;   
  147.     }   
  148.     /**  
  149.      * @param geographyID The geographyID to set.  
  150.      */  
  151.     public void setGeographyID(String geographyID) {   
  152.         this.geographyID = geographyID;   
  153.     }   
  154.     /**  
  155.      * @return Returns the geographyList.  
  156.      */  
  157.     public List getGeographyList() {   
  158.         return geographyList;   
  159.     }   
  160.     /**  
  161.      * @param geographyList The geographyList to set.  
  162.      */  
  163.     public void setGeographyList(List geographyList) {   
  164.         this.geographyList = geographyList;   
  165.     }   
  166.     /**  
  167.      * @return Returns the geographyTypeID.  
  168.      */  
  169.     public String getGeographyTypeID() {   
  170.         return geographyTypeID;   
  171.     }   
  172.     /**  
  173.      * @param geographyTypeID The geographyTypeID to set.  
  174.      */  
  175.     public void setGeographyTypeID(String geographyTypeID) {   
  176.         this.geographyTypeID = geographyTypeID;   
  177.     }   
  178.     /**  
  179.      * @return Returns the cityType1.  
  180.      */  
  181.     public String getCityType1() {   
  182.         return cityType1;   
  183.     }   
  184.     /**  
  185.      * @param cityType1 The cityType1 to set.  
  186.      */  
  187.     public void setCityType1(String cityType1) {   
  188.         this.cityType1 = cityType1;   
  189.     }   
  190.     /**  
  191.      * @return Returns the cityType2.  
  192.      */  
  193.     public String getCityType2() {   
  194.         return cityType2;   
  195.     }   
  196.     /**  
  197.      * @param cityType2 The cityType2 to set.  
  198.      */  
  199.     public void setCityType2(String cityType2) {   
  200.         this.cityType2 = cityType2;   
  201.     }   
  202.     /**  
  203.      * @return Returns the cityTypeList1.  
  204.      */  
  205.     public List getCityTypeList1() {   
  206.         return cityTypeList1;   
  207.     }   
  208.     /**  
  209.      * @param cityTypeList1 The cityTypeList1 to set.  
  210.      */  
  211.     public void setCityTypeList1(List cityTypeList1) {   
  212.         this.cityTypeList1 = cityTypeList1;   
  213.     }   
  214.     /**  
  215.      * @return Returns the cityTypeList2.  
  216.      */  
  217.     public List getCityTypeList2() {   
  218.         return cityTypeList2;   
  219.     }   
  220.     /**  
  221.      * @param cityTypeList2 The cityTypeList2 to set.  
  222.      */  
  223.     public void setCityTypeList2(List cityTypeList2) {   
  224.         this.cityTypeList2 = cityTypeList2;   
  225.     }   
  226.     /**  
  227.      * @return Returns the listId.  
  228.      */  
  229.     public String getListId() {   
  230.         return listId;   
  231.     }   
  232.     /**  
  233.      * @param listId The listId to set.  
  234.      */  
  235.     public void setListId(String listId) {   
  236.         
分享到:
评论

相关推荐

    struts+hibernate树形菜单

    3. **获取树形数据**:在服务层(Service层),使用Hibernate的HQL(Hibernate查询语言)或SQL查询语句,检索所有菜单,并按照父ID进行排序,构建出树形结构。可以使用递归方法或者预加载子菜单的方式来实现。 4. *...

    java+Struts+Hibernate实现的无限级树菜单

    前端通常使用JavaScript库(如jQuery、Bootstrap Treeview、AngularJS等)来呈现树形结构。这些库提供了方便的API来动态加载和操作树节点。在本项目中,可能会利用JSP页面结合JavaScript来渲染树形菜单。 6. **...

    Struts+Hibernate+Javascript 实现人无限级分类树形菜单

    Struts+Hibernate+Javascript 实现人无限级分类树...主要是用到了Struts+Hibernate+JSTL1.1和自定义标签,树形菜单节点用 JavaScript控制显示,菜单结构由数据库中的字段区分,测试数据是通过TestMain.java插入数据库的

    extjs+spring+struts+hibernate

    **ExtJS** 是一个用于构建桌面和移动Web应用程序的JavaScript库,提供了丰富的组件库,如表格、图表、表单、树形结构等,以及强大的数据管理和布局系统。它的使用可以让开发者创建出具有现代UI设计的复杂Web应用。 ...

    struts2+spring+hibernate+easyui管理框架

    Struts2+Spring+Hibernate+EasyUI 是一个经典的Java Web开发框架组合,广泛应用于企业级应用的构建。这个管理系统利用这些技术的特性,提供了一种高效、稳定且易于维护的解决方案。 **Struts2** 是一个强大的MVC...

    spring+struts2+hibernate+json+dtree+mysql实现的无限级联树(全)

    5. **dTree插件**:dTree是一款基于JavaScript的可折叠树形菜单组件,用于在网页上显示层次结构的数据。在本项目中,前端可能利用dTree来展示从服务器获取的JSON数据,实现动态的、可交互的无限级联树视图。 6. **...

    extjs+struts+hibernate+spring(物流管理系统)-part3

    【标题】"extjs+struts+hibernate+spring(物流管理系统)-part3" 提供的是一个基于Java技术栈的物流管理系统实现,主要利用了ExtJS作为前端框架,Struts作为MVC框架,Hibernate作为ORM工具,以及Spring作为整体应用的...

    图书管理系统(struts+hibernate+spring+ext)130221.zip

    在图书管理系统中,Ext用于构建用户界面,包括表格、树形结构、表单等,通过Ajax技术与后台进行异步通信,提供流畅的用户体验。Ext的组件化开发方式使得前端代码结构清晰,易于维护和扩展。 这四个框架的结合使用,...

    struts+hibernate+spring+ext

    ExtJS 是一个用于构建富客户端(Rich Internet Applications,RIA)的JavaScript库,它提供了一系列组件,如表格、树形结构、窗口、菜单等,用于创建复杂的、交互性强的Web界面。ExtJS 使用 MVC 架构,并且有强大的...

    权限管理struts2+spring+hibernate easyui

    它提供了大量的预定义样式和组件,如表格、树形结构、对话框等,帮助开发者快速创建美观且响应式的界面。在权限管理系统的视图层,EasyUI可以帮助展示用户权限、角色分配等信息,提供友好的用户交互体验。 这个系统...

    Struts+Spring+Hibernate+ExtJs毕业系统

    它的组件包括表格、表单、树形结构、面板、图表等,能实现复杂的布局和数据展示。 在"Struts+Spring+Hibernate+ExtJs毕业系统"中,Struts 负责接收和处理用户请求,Spring 管理业务对象和事务,Hibernate 处理...

    图书管理系统(struts+hibernate+spring+ext)130221.rar

    本资源"图书管理系统(struts+hibernate+spring+ext)130221.rar"提供了一个完整的基于Java Web的图书管理系统实现,采用经典的SSH(Struts、Hibernate、Spring)框架和EXT前端技术,旨在帮助计算机专业的学生进行毕业...

    Spring+Struts+hibernate+Extjs的客户关系管理系统源代码

    在CRM系统中,它提供了丰富的UI组件,如表格、表单、树形结构等,使得界面更加直观和交互性强。通过Ajax技术,ExtJS实现了页面数据的异步加载,提升了用户体验。 该CRM系统可能包含以下主要功能模块: 1. 客户管理...

    dtree树 struts1+hibernate+dtree

    至于"treeTest"这个文件,可能是项目中的测试用例或者包含了一个简单的树形结构的示例,用于验证dtree的正确显示和操作功能。在实际开发中,测试是非常重要的环节,确保各个部分的功能正常运行并能适应各种情况。 ...

    Struts+Spring+Hibernate+ExtJs学生学籍系统毕业设计

    Struts+Spring+Hibernate+ExtJs学生学籍系统毕业设计是一个综合性的项目,它整合了四个关键的技术框架,用于构建高效、稳定且易于维护的Web应用程序。这些技术分别是: 1. **Struts**:这是一个基于MVC(Model-View...

    图书管理系统(struts+hibernate+spring+ext)101毕业设计—(包含完整源码可运行).rar

    Ext JS是一个用于构建富客户端Web应用的JavaScript库,提供了丰富的UI组件,如表格、树形结构、表单等。在本系统中,Ext被用来构建用户友好的界面,提供直观的交互体验,例如图书列表展示、搜索功能、借阅操作等。 ...

    Struts2+Spring3+Hibernate4+Maven+EasyUI

    Struts2+Spring3+Hibernate4+Maven+EasyUI 是一个常见的Java Web开发组合,它们各自扮演着关键的角色,构建了一个高效、模块化的应用程序架构。这个组合在企业级应用中广泛使用,尤其是在数据管理、业务逻辑处理和...

    struts+spring+hibernate+extjs 人力资源管理系统

    在本系统中,ExtJS创建了诸如表格、表单、树形结构等用户界面元素,通过Ajax与服务器进行异步通信,实现了数据的实时更新和动态加载。 结合这四个关键技术,我们构建了一个高效的人力资源管理系统。Struts处理用户...

Global site tag (gtag.js) - Google Analytics