文档章节

struts+spring+hibernate的web应用【6】

ruyees
 ruyees
发布于 2014/10/05 11:48
字数 1084
阅读 11
收藏 0

第十七部分:Web 层代码量比较大,涉及的地方也比较多,考虑到文章过于庞大,所以分两篇写。


            我们还是先从主要的

action 开始吧。

                   com.game.products.web.actions 包中新建 ProductsAction ,这是一个 DispatchAction

代码如下:

package  com.game.products.web.actions;

 import  java.util.List;

 import  javax.servlet.http.HttpServletRequest;
 import  javax.servlet.http.HttpServletResponse;

 import  org.acegisecurity.AccessDeniedException;
 import  org.apache.struts.action.ActionForm;
 import  org.apache.struts.action.ActionForward;
 import  org.apache.struts.action.ActionMapping;
 import  org.apache.struts.actions.DispatchAction;

 import  com.game.commons.Pager;
 import  com.game.commons.PagerService;
 import  com.game.products.model.Products;
 import  com.game.products.services.iface.ProductsService;
 import  com.game.products.web.forms.ProductsForm;


 public   class  ProductsAction  extends  DispatchAction   {
    
     private  ProductsService productsService;
     private  PagerService pagerService;
    
     /** */ /**  
     * 显示所有信息
      */ 
     public  ActionForward doGetProducts(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        
         int  totalRows = productsService.getRows();
        String currentPage = req.getParameter( " currentPage " );
        String pagerMethod = req.getParameter( " pagerMethod " );
        
        Pager pager = pagerService.getPager(currentPage, pagerMethod, totalRows);
        
        List productsList = productsService.getProducts(pager.getPageSize(), pager.getStartRow());
        
        req.setAttribute( " productsList " , productsList);
        req.setAttribute( " PAGER " , pager);
        req.setAttribute( " flag " , flag);
        req.setAttribute( " totalRows " , String.valueOf(totalRows));
        
         return  mapping.findForward( " all " );
    } 
    
     /** */ /**  
     * 显示一条信息
      */ 
     public  ActionForward doGetProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        String gameId = req.getParameter( " gameId " );
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 2 " ))  {
            fieldname = (String)req.getParameter( " fieldname " );
            value = (String)req.getParameter( " value " );
            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
        } 
        
        Products pd = productsService.getProduct(gameId);
        req.setAttribute( " pd " , pd);
        req.setAttribute( " flag " , flag);
         return  mapping.findForward( " one " );
    } 
    
     /** */ /**  
     * 添加信息页面
      */ 
     public  ActionForward doAddProductPage(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 2 " ))  {
            fieldname = (String)req.getParameter( " fieldname " );
            value = (String)req.getParameter( " value " );
            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
        } 
        
        String maxid = productsService.getMaxID();
        req.setAttribute( " maxid " , maxid);
         return  mapping.findForward( " add " );
    } 
    
     /** */ /**  
     * 添加信息
      */ 
     public  ActionForward doAddProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        ProductsForm pf = (ProductsForm)form;
        String flag = pf.getFlag();
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 2 " ))  {
            fieldname = pf.getFieldname();
            value = pf.getValue();
            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
        } 
        
        Products pd = new  Products();
        pd.setGameCapacity(pf.getGameCapacity());
        pd.setGameId(pf.getGameId());
        pd.setGameMedia(pf.getGameMedia());
        pd.setGameNameCn(pf.getGameNameCn());
        pd.setGameNameEn(pf.getGameNameEn());
        pd.setGameVersion(pf.getGameVersion());
        pd.setGameCopyright(pf.getGameCopyright());
        pd.setGameContent(pf.getGameContent());
         if (pf.getGamePrice().equals( "" ))  {
            pd.setGamePrice( null );
        } else  {
            pd.setGamePrice(pf.getGamePrice());
        } 
        
         int  sign = 1 ;
         try  {
            productsService.addProduct(pd);
            sign = 1 ;
        } catch (Exception e)  {
            sign = 2 ;
        } 
        
         if (sign == 1 )  {
             return  mapping.findForward( " success " );
        } else  {
             return  mapping.findForward( " failure " );
        } 
    } 
    
     /** */ /**  
     * 修改信息
      */ 
     public  ActionForward doUpdateProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        ProductsForm pf = (ProductsForm)form;
        String gameId = pf.getGameId();
        
        String flag = pf.getFlag();
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 2 " ))  {
            fieldname = pf.getFieldname();
            value = pf.getValue();
            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
        } 
        
        Products pd = productsService.getProduct(gameId);
        pd.setGameCapacity(pf.getGameCapacity());
        pd.setGameId(pf.getGameId());
        pd.setGameMedia(pf.getGameMedia());
        pd.setGameNameCn(pf.getGameNameCn());
        pd.setGameNameEn(pf.getGameNameEn());
        pd.setGameVersion(pf.getGameVersion());
        pd.setGameCopyright(pf.getGameCopyright());
        pd.setGameContent(pf.getGameContent());
         if (pf.getGamePrice().equals( "" ))  {
            pd.setGamePrice( null );
        } else  {
            pd.setGamePrice(pf.getGamePrice());
        } 
        
         int  sign = 1 ;
         try  {
            productsService.updateProductd(pd);
            sign = 1 ;
        } catch (Exception e)  {
            sign = 2 ;
        } 
        
         if (sign == 1 )  {
             return  mapping.findForward( " success " );
        } else  {
             return  mapping.findForward( " failure " );
        } 
    } 
    
     /** */ /**  
     * 删除信息
      */ 
     public  ActionForward doDeleteProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 2 " ))  {
            fieldname = (String)req.getParameter( " fieldname " );
            value = (String)req.getParameter( " value " );
            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
        } 
        
        String gameId = req.getParameter( " gameId " );
        
        Products pd = productsService.getProduct(gameId);
         int  sign = 1 ;
         try  {
            productsService.deleteProduct(pd);
            sign = 1 ;
        } catch (Exception e)  {
            sign = 2 ;
        } 
        
         if (sign == 1 )  {
             return  mapping.findForward( " success " );
        } else  {
             return  mapping.findForward( " failure " );
        } 
    } 
    
     /** */ /**  
     * 返回信息
      */ 
     public  ActionForward doReturnProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
         if (flag.equals( " 1 " ))  {
             int  totalRows = productsService.getRows();
            String currentPage = req.getParameter( " currentPage " );
            String pagerMethod = req.getParameter( " pagerMethod " );
            
            Pager pager = pagerService.getPager(currentPage, pagerMethod, totalRows);
            
            List productsList = productsService.getProducts(pager.getPageSize(), pager.getStartRow());
            
            req.setAttribute( " productsList " , productsList);
            req.setAttribute( " PAGER " , pager);
            req.setAttribute( " flag " , flag);
            req.setAttribute( " totalRows " , String.valueOf(totalRows));
        } else   if (flag.equals( " 2 " ))  {
            fieldname = (String)req.getParameter( " fieldname " );
            value = (String)req.getParameter( " value " );
             int  totalRows = productsService.getRows(fieldname,value);
            String currentPage = req.getParameter( " currentPage " );
            String pagerMethod = req.getParameter( " pagerMethod " );
            
            Pager pager = pagerService.getPager(currentPage, pagerMethod, totalRows);

            req.setAttribute( " fieldname " , fieldname);
            req.setAttribute( " value " , value);
            
            List productsList = productsService.queryProducts(fieldname, value,pager.getPageSize(), pager.getStartRow());
            
            req.setAttribute( " productsList " , productsList);
            req.setAttribute( " PAGER " , pager);
            req.setAttribute( " totalRows " , String.valueOf(totalRows));
        } 
        
         return  mapping.findForward( " all " );
        
    } 
    
     /** */ /**  
     * 查询信息
      */ 
     public  ActionForward doQueryProduct(
            ActionMapping mapping,
            ActionForm form,
            HttpServletRequest req,
            HttpServletResponse res)  {
        String flag = req.getParameter( " flag " );
        req.setAttribute( " flag " , flag);
        String fieldname = "" ;
        String value = "" ;
        fieldname = (String)req.getParameter( " fieldname " );
        value = (String)req.getParameter( " value " );
        
         int  totalRows = productsService.getRows(fieldname,value);
        String currentPage = req.getParameter( " currentPage " );
        String pagerMethod = req.getParameter( " pagerMethod " );
        
        Pager pager = pagerService.getPager(currentPage, pagerMethod, totalRows);

        req.setAttribute( " fieldname " , fieldname);
        req.setAttribute( " value " , value);
        
        List productsList = productsService.queryProducts(fieldname, value,pager.getPageSize(), pager.getStartRow());
        
        req.setAttribute( " productsList " , productsList);
        req.setAttribute( " PAGER " , pager);
        req.setAttribute( " totalRows " , String.valueOf(totalRows));
        
         return  mapping.findForward( " all " );
        
    } 
 
      public  ProductsService getProductsService()   {
         return  productsService;
    } 
 
      public   void  setProductsService(ProductsService productsService)   {
         this .productsService  =  productsService;
    } 
 
      public  PagerService getPagerService()   {
         return  pagerService;
    } 
 
      public   void  setPagerService(PagerService pagerService)   {
         this .pagerService  =  pagerService;
    } 
    
}

 

 

第十八部分: com.game.products.web.forms 包中新建 ProductsForm ,他继承了 ValidatorForm 。代码如下:

 

package  com.game.products.web.forms;

 import  javax.servlet.http.HttpServletRequest;

 import  org.apache.struts.action.ActionMapping;
 import  org.apache.struts.validator.ValidatorForm;

 public   class  ProductsForm  extends  ValidatorForm   {
     //     Fields  
      private  String gameId; // 编号 
      private  String gameNameCn; // 中文名称 
      private  String gameNameEn; // 英文名称 
      private  String gameCapacity; // 碟数 
      private  String gameVersion; // 版本 
      private  String gameMedia; // 介质 
      private  String gameCopyright; // 版权 
      private  String gamePrice; // 价格 
      private  String gameContent; // 攻略 
     
     private  String flag;
     private  String fieldname;
     private  String value;
    
     //     Constructors 
       public  ProductsForm()  {
        gameId = null ;
        gameNameCn = null ;
        gameNameEn = null ;
        gameCapacity = null ;
        gameVersion = null ;
        gameMedia = null ;
        gameCopyright = null ;
        gamePrice = null ;
        gameContent = null ;
        
        flag = null ;
        fieldname = null ;
        value = null ;
    } 
    
     //  reset 
       public   void  reset(ActionMapping mapping, HttpServletRequest request)   {
        gameId = null ;
        gameNameCn = null ;
        gameNameEn = null ;
        gameCapacity = null ;
        gameVersion = null ;
        gameMedia = null ;
        gameCopyright = null ;
        gamePrice = null ;
        gameContent = null ;
        
        flag = null ;
        fieldname = null ;
        value = null ;
    } 
    
     //     Property accessors 
       public  String getGameCapacity()   {
         return  gameCapacity;
    } 
 
      public   void  setGameCapacity(String gameCapacity)   {
         this .gameCapacity  =  gameCapacity;
    } 
 
      public  String getGameId()   {
         return  gameId;
    } 
 
      public   void  setGameId(String gameId)   {
         this .gameId  =  gameId;
    } 
 
      public  String getGameNameCn()   {
         return  gameNameCn;
    } 
 
      public   void  setGameNameCn(String gameNameCn)   {
         this .gameNameCn  =  gameNameCn;
    } 
 
      public  String getGameNameEn()   {
         return  gameNameEn;
    } 
 
      public   void  setGameNameEn(String gameNameEn)   {
         this .gameNameEn  =  gameNameEn;
    } 
 
      public  String getGameVersion()   {
         return  gameVersion;
    } 
 
      public   void  setGameVersion(String gameVersion)   {
         this .gameVersion  =  gameVersion;
    } 
 
      public  String getGameMedia()   {
         return  gameMedia;
    } 
 
      public   void  setGameMedia(String gameMedia)   {
         this .gameMedia  =  gameMedia;
    } 
 
      public  String getFieldname()   {
         return  fieldname;
    } 
 
      public   void  setFieldname(String fieldname)   {
         this .fieldname  =  fieldname;
    } 
 
      public  String getFlag()   {
         return  flag;
    } 
 
      public   void  setFlag(String flag)   {
         this .flag  =  flag;
    } 
 
      public  String getValue()   {
         return  value;
    } 
 
      public   void  setValue(String value)   {
         this .value  =  value;
    } 
 
      public  String getGameCopyright()   {
         return  gameCopyright;
    } 
 
      public   void  setGameCopyright(String gameCopyright)   {
         this .gameCopyright  =  gameCopyright;
    } 
 
      public  String getGameContent()   {
         return  gameContent;
    } 
 
      public   void  setGameContent(String gameContent)   {
         this .gameContent  =  gameContent;
    } 
 
      public  String getGamePrice()   {
         return  gamePrice;
    } 
 
      public   void  setGamePrice(String gamePrice)   {
         this .gamePrice  =  gamePrice;
    } 
 
}

 

 

本文转载自:http://zuoqiang.iteye.com/blog/673372

共有 人打赏支持
ruyees
粉丝 3
博文 71
码字总数 0
作品 0
深圳
产品经理
私信 提问
基于Struts+Spring+Hibernate的使用和部署

就现在WEB开发而言,J2EE企业级开发技术比较成熟,开发模式模式也比较繁多,较流行开发模式MVC更是普遍,而基于MVC模式开发的框架也是种类繁多,现在使用最多的可能就是SSH这三种框架,所以展...

chenruibing
2015/08/18
0
0
struts+spring+hibernate分别用到了什么设计模式

struts+spring+hibernate分别用到了什么设计模式,请大家知无不答,共同讨论。 并举例说明哪个框架的哪个地方用到了哪个java设计模式.

skyone
2012/12/27
3K
14
登陆界面不输密码点一次登陆出现一个用户名和密码不能为空(点n个出现n个)

环境ssh(struts+spring+hibernate) 编写好登陆界面什么都正常,就是点击登陆时无限的出现用户名和密码不能为空 错误原因:没有在action中配置多例,action默认是单例的 scope=“prototype...

lzw_me
2014/05/29
0
0
想学习Struts+Spring+Hibernate给推荐本这样的书吧

想学习Struts+Spring+Hibernate 的整合开发 大家给推荐本这样的书吧 最好是新版的 谢谢了

帅气的鱼
2010/12/16
709
20
ssh三大框架对于新手先学哪个比较好点

学java的,但没有接触过ssh( struts+spring+hibernate),想问一句,先学哪个比较好点?推荐一些好点的书籍或视频也行,

奋斗的少年
2015/04/08
7.8K
20

没有更多内容

加载失败,请刷新页面

加载更多

Win10:默认的图片打开应用,打开图片时速度明显很慢的解决办法

首先,我们随便地打开一张图片。然后,点击右上角的三个小点,最后点击弹出菜单最下面的“设置”。如下图: 在“设置”中找到下面的“人物”,把它关掉就好了。 原来,默认情况下,Win 10的图...

LivingInFHL
37分钟前
2
0
js代码激发onchange事件,兼容谷歌火狐IE

var el = document.getElementsByName('role')[0]; el.value = '3'; var evt = document.createEvent("HTMLEvents"); evt.initEvent("change", false, true); el.dispatchEvent(evt);......

我退而结网
51分钟前
3
0
mysql客户端报错:libmysqlclient_16 not defined in file libmysqlclient.so.16

报错情况: 安装完mydumper之后(上一篇文章),登陆Mysql客户端报错:version libmysqlclient_16 not defined in file libmysqlclient.so.16 with link time reference 同样:mysql的其他客...

machogyb
58分钟前
1
0
MySQL 数据库中间件 安装部署测试全过程

1、环境准备 1.1、操作系统环境 [root@MyCat conf]# uname -aLinux MyCat 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux 1.2、关闭SELIN......

PeakFang-BOK
今天
6
0
Linux Mysql 安装

https://www.cnblogs.com/xinjing-jingxin/p/8025805.html

流氓兔-
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部