【j2ee spring】37、巴巴运动网的产品品牌修改和查询

 

1、项目图解

 

 

 

 

这里做的是品牌的查询和修改

 

 

 

 

2、我们开始做我们的相应的功能模块

页面的素材我会上传的,链接是:http://download.csdn.net/detail/cutter_point/8803985

 

 

BrandAction.java 查询实现

 

BrandManagerAction.java里面的

/**

     * 显示类别查询界面

     * @return String struts2的返回跳转result

     * @throws Exception

     */

    public String queryUI() throws Exception

    {

        return"query";

    }


/**

 * 功能:这个是实现品牌类和web层的交互

 * 时间:2015年5月23日10:31:07

 * 文件:BrandAction.java

 * 作者:cutter_point

 */

packagecom.cutter_point.web.action.product;

 

import java.util.ArrayList;

importjava.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

 

importjavax.annotation.Resource;

 

importorg.springframework.context.annotation.Scope;

importorg.springframework.stereotype.Controller;

 

importcom.cutter_point.bean.PageView;

importcom.cutter_point.bean.QueryResult;

importcom.cutter_point.bean.product.Brand;

importcom.cutter_point.service.product.BrandService;

importcom.opensymphony.xwork2.ActionContext;

importcom.opensymphony.xwork2.ActionSupport;

 

@Controller

@Scope("prototype")

public class BrandActionextends ActionSupport

{

         @Resource

         private BrandService brandService;         //通过接口注入,aop默认的方式

         private int page;

         private String query;                  //判断是从那个页面来的

         private String name;        //要查询的名字

        

        

         @Override

         public String execute() throws Exception

         {

                   Map request =(Map)ActionContext.getContext().get("request");

                   PageView<Brand> pageview = newPageView<Brand>(12, this.getPage());

                   int firstindex = (pageview.getCurrentpage() - 1) *pageview.getMaxresult();        //得到从哪个开始索引的值

                   LinkedHashMap<String, String> orderby = newLinkedHashMap<String, String>();

                   orderby.put("code", "asc");

                   StringBuilder hsql = newStringBuilder("o.visible = ?");

                   List<Object> params = newArrayList<Object>();   //这个用来存放需要的排序方式

                   params.add(true);

                  

                   System.out.println(this.getQuery() + "asdjaskhfsk");

                   //判断来的页面是那个

                   if("true".equals(this.getQuery()))

                   {

                            //是从查询页面来的需求

                            //如果是查询的话,那么我们判定一下name是不是为空的

                            if(this.getName() != null &&!"".equals(this.getName().trim())) //后面那个trim是去掉空格的作用

                            {

                                     //模糊查询一下

                                     hsql.append(" and o.namelike ?");

                                     params.add("%" + this.getName()+ "%");               //给问号赋值

                            }

                   }

                  

                   QueryResult<Brand> qr =brandService.getScrollData(Brand.class, firstindex, pageview.getMaxresult(),hsql.toString(),

                                     params.toArray(), orderby);

                   pageview.setQueryResult(qr);

                   request.put("pageView", pageview);

                  

                   return "list";

         }

        

         public void setPage(int page)

         {

                   this.page = page;

         }

        

         public int getPage()

         {

                   return page < 1 ? 1 : page;

         }

 

         public BrandService getBrandService()

         {

                   return brandService;

         }

 

         public void setBrandService(BrandService brandService)

         {

                   this.brandService = brandService;

         }

 

         public String getQuery()

         {

                   return query;

         }

 

         public void setQuery(String query)

         {

                   this.query = query;

         }

 

         public String getName()

         {

                   return name;

         }

 

         public void setName(String name)

         {

                   this.name = name;

         }

}



修改功能图片路径

 

 

/**

     * 显示类别修改界面

     * @return String struts2的返回跳转result

     * @throws Exception

     */

    public String editUI() throws Exception

    {

        //取得相应的值传到修改的地方去

        Map request = (Map) ActionContext.getContext().get("request");

        Brand brand = brandService.find(Brand.class,this.getCode());   //获取相应的对象实体

        name = brand.getName(); //获取要修改的对象的名字

        logoimagepath = brand.getLogopath();    //得到图片路径

        request.put("name", name);

        request.put("logoimagepath", logoimagepath);

        return"edit";

    }

   

    /**

     * 类别修改操作

     * @return

     * @throws Exception

     */

    public String edit() throws Exception

    {

        Map request = (Map) ActionContext.getContext().get("request");

        //再上传之前判断上传图片类型是不是符合要求

    if(!this.validateFileType("logofile"))

    {

         request.put("message", "图片格式不对");

         return"message";

    }

        Brand brand = brandService.find(Brand.class,this.getCode());   //找到相应的对象

        brand.setName(this.getName());  //新的名字

        //判断文件是否获取,文件获取到,且长度大于0

        if(this.getLogofile() != null && this.getLogofile().length() > 0)   //如果重新填了新的图片,那么就修改为新的图片

        {

            //我们保存文件的格式是images/brand/2015/5/23/ssss.gif

            //G:\Program Files\ApacheSoftware Foundation\Tomcat 8.0\webapps\babaSport_1100_brand\images\这个就是realpath

            String realpath = ServletActionContext.getServletContext().getRealPath("/images");

            //这里我们规定一下格式

            SimpleDateFormat dateformat = newSimpleDateFormat("yyy\\MM\\dd\\HH");

            String logopathdir = realpath + "brand\\" + dateformat.format(new Date());  //构建图片保存的目录

            File logosavedir = newFile(logopathdir);   //文件的保存路径

            if(!logosavedir.exists())

            {

                //如果文件保存路径不存在,我们就创建这个路径

                logosavedir.mkdirs();

            }

            //得到图片后缀

            String ext = this.getLogofileFileName().substring(this.getLogofileFileName().lastIndexOf('.'));

            //文件的名字

            String showpath = "..\\" + logosavedir.toString().substring(logosavedir.toString().lastIndexOf("\\images"));

            String imagename = UUID.randomUUID().toString() +ext;  //构建文件名称

            //这里用文件流来传进来

            FileOutputStream fos = null;

            FileInputStream fis = null;

            try

            {

                String logopath = logosavedir + "\\" + imagename;

                showpath += "\\" + imagename;

                //建立文件输出流

                fos = newFileOutputStream(logopath);

                //建立文件上传流

                fis = new FileInputStream(this.getLogofile());

                //设定一个字节缓存

                byte[] buffer = newbyte[2048];

                int len = 0;        //每次上传的长度

                //不断地从文件上传流输出到输出流

                while((len = fis.read(buffer)) != -1)

                {

                    //输出

                    fos.write(buffer, 0, len);

                }

                brand.setLogopath(showpath);

            }

            catch (Exception e)

            {

                System.out.println("文件上传失败");

                e.printStackTrace();

            }

            finally

            {

                this.close(fos, fis);

            }

        }

        brandService.update(brand);

        request.put("message", "修改品牌成功");

        request.put("urladdress", SiteUrl.readUrl("control.brand.list"));

        return"message";

    }


 

ProductTypeManageAction.java

 

/**

 * 功能:这个是品牌产品的管理动作

 * 时间:2015年5月20日15:40:17

 * 文件:ProductTypeManageAction.java

 * 作者:cutter_point

 */

packagecom.cutter_point.web.action.product;

 

importjava.beans.Introspector;

import java.beans.PropertyDescriptor;

import java.io.File;

importjava.io.FileInputStream;

importjava.io.FileOutputStream;

importjava.lang.reflect.Method;

importjava.text.SimpleDateFormat;

import java.util.Arrays;

import java.util.Date;

import java.util.List;

import java.util.Map;

import java.util.UUID;

 

importjavax.annotation.Resource;

 

importorg.apache.commons.io.FileUtils;

importorg.apache.struts2.ServletActionContext;

importorg.springframework.context.annotation.Scope;

importorg.springframework.stereotype.Controller;

 

importcom.cutter_point.bean.product.Brand;

importcom.cutter_point.service.product.BrandService;

importcom.cutter_point.utils.SiteUrl;

importcom.opensymphony.xwork2.ActionContext;

importcom.opensymphony.xwork2.ActionSupport;

 

@Controller

@Scope("prototype")

public class BrandManageActionextends ActionSupport

{

         @Resource

         private BrandService brandService;         //通过接口注入,aop默认的方式

         private File logofile;          //上传的文件

         private String logofileContentType;         //这个是struts2自动传进来的属性,文件的内容类型

         private String logofileFileName;      //这个是struts2自动传进来的属性,上传文件名

         private String name;                  //上传的品牌的名字

         private String code; //品牌代码

         private String logoimagepath;         //logo图片路径

        

         /**

          * 显示品牌添加界面

          * @return Stringstruts2的返回跳转result

          * @throws Exception

          */

         public String addUI() throws Exception

         {

                   return "add";

         }

        

         /**

          * 品牌添加操作,上传文件方式2

          * @return

          * @throws Exception

          */

         public String add2() throws Exception

         {

                   Map request = (Map)ActionContext.getContext().get("request");

                   //我们保存文件的格式是images/brand/2015/5/23/ssss.gif

                   //G:\Program Files\Apache SoftwareFoundation\Tomcat 8.0\webapps\babaSport_1100_brand\images\ 这个就是realpath

                   String realpath =ServletActionContext.getServletContext().getRealPath("/images");

                   //这里我们规定一下格式

                   SimpleDateFormat dateformat = newSimpleDateFormat("yyy\\MM\\dd\\HH");

                   String logopath = realpath + "brand\\" +dateformat.format(new Date());   //构建图片保存的目录

                   Brand brand = new Brand();

                   brand.setName(this.getName());

                   //判断文件是否获取,文件获取到,且长度大于0

                   if(this.getLogofile() != null &&this.getLogofile().length() > 0)

                   {

                            File logosavedir = new File(logopath);     //文件的保存路径

                            if(!logosavedir.exists())

                            {

                                     //如果文件保存路径不存在,我们就创建这个路径

                                     logosavedir.mkdirs();

                            }

                            //文件的名字

//                         String imagename =UUID.randomUUID().toString();    //构建文件名称

                            //文件输出到相应的目录,根据 parent 抽象路径名和 child 路径名字符串创建一个新File 实例。

                            File savefile = new File(logosavedir,this.getLogofileFileName());

                            FileUtils.copyFile(logofile, savefile);

                   }

                   brandService.save(brand);

                   request.put("message", "添加品牌成功");

                   return "message";

         }

        

         /**

          * 品牌添加操作,上传文件方式1

          * @return

          * @throws Exception

          */

         public String add() throws Exception

         {

                   Map request = (Map)ActionContext.getContext().get("request");

                   //再上传之前判断上传图片类型是不是符合要求

                   if(!this.validateFileType("logofile"))

                   {

                            request.put("message", "图片格式不对");

                            return "message";

                   }

                   //我们保存文件的格式是images/brand/2015/5/23/ssss.gif

                   //G:\Program Files\Apache SoftwareFoundation\Tomcat 8.0\webapps\babaSport_1100_brand\images\ 这个就是realpath

                   String realpath = ServletActionContext.getServletContext().getRealPath("/images");

                   //这里我们规定一下格式

                   SimpleDateFormat dateformat = newSimpleDateFormat("yyy\\MM\\dd\\HH");

                   String logopathdir = realpath +"brand\\" + dateformat.format(new Date());       //构建图片保存的目录

                   Brand brand = new Brand();

                   brand.setName(this.getName());

                   //判断文件是否获取,文件获取到,且长度大于0

                   if(this.getLogofile() != null &&this.getLogofile().length() > 0)

                   {

                            File logosavedir = new File(logopathdir); //文件的保存路径

                            if(!logosavedir.exists())

                            {

                                     //如果文件保存路径不存在,我们就创建这个路径

                                     logosavedir.mkdirs();

                            }

                            //得到图片后缀

                            String ext =this.getLogofileFileName().substring(this.getLogofileFileName().lastIndexOf('.'));

                            //文件的名字

                            String showpath = "..\\" +logosavedir.toString().substring(logosavedir.toString().lastIndexOf("\\images"));

                            String imagename =UUID.randomUUID().toString() + ext;   //构建文件名称

                            //这里用文件流来传进来

                            FileOutputStream fos = null;

                            FileInputStream fis = null;

                            try

                            {

                                     String logopath = logosavedir +"\\" + imagename;

                                     showpath += "\\" +imagename;

                                     //建立文件输出流

                                     fos = newFileOutputStream(logopath);

                                     //建立文件上传流

                                     fis = newFileInputStream(this.getLogofile());

                                     //设定一个字节缓存

                                     byte[] buffer = new byte[2048];

                                     int len = 0;                  //每次上传的长度

                                     //不断地从文件上传流输出到输出流

                                     while((len = fis.read(buffer))!= -1)

                                     {

                                               //输出

                                               fos.write(buffer, 0,len);

                                     }

                                     brand.setLogopath(showpath);

                            }

                            catch (Exception e)

                            {

                                     System.out.println("文件上传失败");

                                     e.printStackTrace();

                            }

                            finally

                            {

                                     this.close(fos, fis);

                            }

                   }

                   brandService.save(brand);

                   request.put("message", "添加品牌成功");

                   request.put("urladdress",SiteUrl.readUrl("control.brand.list"));

                   return "message";

         }

        

        

         /**

          * 显示类别修改界面

          * @return Stringstruts2的返回跳转result

          * @throws Exception

          */

         public String editUI() throws Exception

         {

                   //取得相应的值传到修改的地方去

                   Map request = (Map)ActionContext.getContext().get("request");

                   Brand brand = brandService.find(Brand.class,this.getCode());      //获取相应的对象实体

                   name = brand.getName();       //获取要修改的对象的名字

                   logoimagepath = brand.getLogopath();  //得到图片路径

                   request.put("name", name);

                   request.put("logoimagepath",logoimagepath);

                   return "edit";

         }

        

         /**

          * 类别修改操作

          * @return

          * @throws Exception

          */

         public String edit() throws Exception

         {

                   Map request = (Map)ActionContext.getContext().get("request");

                   //再上传之前判断上传图片类型是不是符合要求

             if(!this.validateFileType("logofile"))

             {

                       request.put("message","图片格式不对");

                       return"message";

             }

                   Brand brand = brandService.find(Brand.class,this.getCode());      //找到相应的对象

                   brand.setName(this.getName());   //新的名字

                   //判断文件是否获取,文件获取到,且长度大于0

                   if(this.getLogofile() != null &&this.getLogofile().length() > 0)        //如果重新填了新的图片,那么就修改为新的图片

                   {

                            //我们保存文件的格式是images/brand/2015/5/23/ssss.gif

                            //G:\Program Files\Apache SoftwareFoundation\Tomcat 8.0\webapps\babaSport_1100_brand\images\ 这个就是realpath

                            String realpath =ServletActionContext.getServletContext().getRealPath("/images");

                            //这里我们规定一下格式

                            SimpleDateFormat dateformat = newSimpleDateFormat("yyy\\MM\\dd\\HH");

                            String logopathdir = realpath +"brand\\" + dateformat.format(new Date());       //构建图片保存的目录

                            File logosavedir = new File(logopathdir); //文件的保存路径

                            if(!logosavedir.exists())

                            {

                                     //如果文件保存路径不存在,我们就创建这个路径

                                     logosavedir.mkdirs();

                            }

                            //得到图片后缀

                            String ext =this.getLogofileFileName().substring(this.getLogofileFileName().lastIndexOf('.'));

                            //文件的名字

                            String showpath = "..\\" +logosavedir.toString().substring(logosavedir.toString().lastIndexOf("\\images"));

                            String imagename =UUID.randomUUID().toString() + ext;   //构建文件名称

                            //这里用文件流来传进来

                            FileOutputStream fos = null;

                            FileInputStream fis = null;

                            try

                            {

                                     String logopath = logosavedir +"\\" + imagename;

                                     showpath += "\\" +imagename;

                                     //建立文件输出流

                                     fos = newFileOutputStream(logopath);

                                     //建立文件上传流

                                     fis = newFileInputStream(this.getLogofile());

                                     //设定一个字节缓存

                                     byte[] buffer = new byte[2048];

                                     int len = 0;                  //每次上传的长度

                                     //不断地从文件上传流输出到输出流

                                     while((len = fis.read(buffer))!= -1)

                                     {

                                               //输出

                                               fos.write(buffer, 0,len);

                                     }

                                     brand.setLogopath(showpath);

                            }

                            catch (Exception e)

                            {

                                     System.out.println("文件上传失败");

                                     e.printStackTrace();

                            }

                            finally

                            {

                                     this.close(fos, fis);

                            }

                   }

                   brandService.update(brand);

                   request.put("message", "修改品牌成功");

                   request.put("urladdress",SiteUrl.readUrl("control.brand.list"));

                   return "message";

         }

        

         /**

          * 显示类别查询界面

          * @return Stringstruts2的返回跳转result

          * @throws Exception

          */

         public String queryUI() throws Exception

         {

                   return "query";

         }

        

         /**

          * 这儿函数用来验证上传的文件类型是不是符合要求的

          * @return

          */

         public boolean validateFileType(String propertyName) throwsException

         {

                   //得到相应类的所有属性,字段

                   PropertyDescriptor[] propertydesc =Introspector.getBeanInfo(this.getClass()).getPropertyDescriptors();

                   boolean exsit = false;       //判断属性是否存在的变量

                   for(PropertyDescriptor property : propertydesc)             //相当于类里面的属性,字段

                   {

                            if(property.getName().equals(propertyName))

                            {

                                     //名字得到匹配的话,属性是存在

                                     exsit = true;

                                     Method method =property.getReadMethod();      //取得用来读取属性的方法,也就是取得get方法

                                     if(method != null)

                                     {

                                               File file = (File)method.invoke(this);        //执行这个方法

                                               //文件是存在的

                                               if(file != null&& file.length() > 0)

                                               {

                                                        List<String>arrowType = Arrays.asList("image/bmp", "image/png", "image/gif","image/jpeg", "image/pjpe", "image/jpg");

                                                        boolean b =arrowType.contains(this.getLogofileContentType().toLowerCase()); //判断类型是不是在里面,用小写比较

                                                        return b;

                                               }

                                     }

                                     else

                                     {

                                               //如果文件没有穿进来

                                               newRuntimeException(propertyName + "属性的getter方法不存在");

                                     }

                            }

                   }

                  

                   if(!exsit)

                            new RuntimeException(propertyName +"属性的不存在");

                   return true;      //如果没有上传文件的话,还是让他通过

         }

        

         //管理文件流

         protected void close(FileOutputStream fos, FileInputStreamfis)

         {

                   if(fis != null)

                   {

                            try

                            {

                                      fis.close();

                            }

                            catch (Exception e)

                            {

                                     System.out.println("关闭文件输入流失败");

                                     e.printStackTrace();

                            }

                   }

                  

                   if(fos != null)

                   {

                            try

                            {

                                     fos.close();

                            }

                            catch (Exception e)

                            {

                                     System.out.println("关闭文件输出流失败");

                                     e.printStackTrace();

                            }

                   }

         }

        

 

         public File getLogofile()

         {

                   return logofile;

         }

 

         public void setLogofile(File logofile)

         {

                   this.logofile = logofile;

         }

 

         public BrandService getBrandService()

         {

                   return brandService;

         }

 

         public void setBrandService(BrandService brandService)

         {

                   this.brandService = brandService;

         }

 

         public String getName()

         {

                   return name;

         }

 

         public void setName(String name)

         {

                   this.name = name;

         }

 

         public String getLogofileContentType()

         {

                   return logofileContentType;

         }

 

         public void setLogofileContentType(StringlogofileContentType)

         {

                   this.logofileContentType = logofileContentType;

         }

 

         public String getLogofileFileName()

         {

                   return logofileFileName;

         }

 

         public void setLogofileFileName(String logofileFileName)

         {

                   this.logofileFileName = logofileFileName;

         }

 

         public String getCode()

         {

                   return code;

         }

 

         public void setCode(String code)

         {

                   this.code = code;

         }

 

         public String getLogoimagepath()

         {

                   return logoimagepath;

         }

 

         public void setLogoimagepath(String logoimagepath)

         {

                   this.logoimagepath = logoimagepath;

         }

}


 

 

SiteUrl.java

 

/**

 * 功能:获取配置文件里面的属性

 * 时间:2015年5月24日20:52:02

 * 文件:SiteUrl.java

 * 作者:cutter_point

 */

packagecom.cutter_point.utils;

 

import java.io.IOException;

import java.util.Properties;

 

public class SiteUrl

{

         public static String readUrl(String key)

         {

                   Properties properties = new Properties();       //得到属性类型的集合类

                   //获取属性的集合

                   try

                   {

                            //得到这个类的类加载路径,然后根据这个类加载器的路径找到对应的配置文件

                            properties.load(SiteUrl.class.getClassLoader().getResourceAsStream("config/properties/siteurl.properties"));

                   }

                   catch (IOException e)

                   {

                            e.printStackTrace();

                   }

                   return (String) properties.get(key);         //根据key值获取相应的属性值

         }

}


 

 

Siteurl.properties

 

control.brand.list=brandlist

control.producttype.list=producttypelist
 

显示界面

 

edit_brand.jsp
<%@ page isELIgnored="false"contentType="text/html;charset=UTF-8" %>

<%@ taglib uri="/struts-tags"prefix="s" %>

<html>

<head>

<title>修改品牌</title>

<meta http-equiv="Content-Type"content="text/html; charset=UTF-8">

<link rel="stylesheet"href="/css/vip.css" type="text/css">

<SCRIPT language=JavaScript src="/js/FoshanRen.js"></SCRIPT>

<script language="JavaScript">

function checkfm(form){

    if (trim(form.name.value)==""){

        alert("品牌名称不能为空!");

        form.name.focus();

        return false;

    }

    if (byteLength(form.note.value)>200){

        alert("图片名不能大于200字!");

        form.note.focus();

        return false;

    }  

    return true;

}

</script>

</head>

<body bgcolor="#FFFFFF"text="#000000" leftmargin="0" topmargin="0"marginwidth="0" marginheight="0">

<s:form action="brandmanage-edit" method="post" enctype="multipart/form-data"  οnsubmit="returncheckfm(this)">

<s:hidden name="code" value="%{#request.code}"/>

<br>

  <table width="90%"border="0" cellspacing="2"cellpadding="3" align="center">

    <tr bgcolor="6f8ac4">

    <td colspan="2" ><fontcolor="#FFFFFF">修改品牌:</font></td>

    </tr>

    <tr bgcolor="f5f5f5">

      <td width="22%" ><div align="right">品牌名称:</div></td>

      <td width="78%"><input type="text"name="name" value="${name }"size="50" maxlength="50"/>

        <fontcolor="#FF0000">*</font>

       </td>

    </tr>

    <tr bgcolor="f5f5f5">

      <td width="22%" >

         <div align="right">Logo图片:</div>

      </td>

      <td width="78%">

         <input type="file" name="logofile"size="50" maxlength="100"/>

         <s:if test="%{#request.logoimagepath != null}">

             <img src="${logoimagepath}" width="200" />

         </s:if>

         <s:if test="%{#request.logoimagepath == null}">

             NOLogo!

         </s:if>

      </td>

    </tr>

    <tr bgcolor="f5f5f5">

      <td colspan="2"><div align="center">

          <input type="submit" value=" 确定 " class="frm_btn">

        </div></td>

    </tr>

  </table>

</s:form>

<br>

</body>

</html>


query_brand.jsp

 

<%@ page isELIgnored="false"contentType="text/html;charset=UTF-8" %>

<%@ taglib uri="/struts-tags"  prefix="s"%>

<html>

<head>

<title>品牌查询</title>

<meta http-equiv="Content-Type"content="text/html; charset=UTF-8">

<link rel="stylesheet"href="/css/vip.css" type="text/css">

<SCRIPT language=JavaScript src="/js/FoshanRen.js"></SCRIPT>

<script language="JavaScript">

function checkfm(form){

    if (trim(form.name.value)==""){

        alert("品牌名称不能为空!");

        form.name.focus();

        return false;

    }  

    return true;

}

</script>

</head>

<body bgcolor="#FFFFFF"text="#000000" leftmargin="0" topmargin="0"marginwidth="0" marginheight="0">

<s:form action="brandlist" method="post"  οnsubmit="returncheckfm(this)">

<s:hidden name="query" value="true"/>

  <table width="90%"border="0" cellspacing="2"cellpadding="3" align="center">

    <tr bgcolor="6f8ac4"><td colspan="2"><fontcolor="#FFFFFF">查询品牌:</font></td>

    </tr>

    <tr bgcolor="f5f5f5">

      <td width="22%" ><div align="right">品牌名称:</div></td>

      <td width="78%"><input type="text"name="name" size="50"maxlength="40" />

        <fontcolor="#FF0000">*</font></td>

    </tr>

    <tr bgcolor="f5f5f5">

      <td colspan="2"><div align="center">

          <input type="submit" value=" 确定 " class="frm_btn">

        </div></td>

    </tr>

  </table>

</s:form>

<br>

</body>

</html>


4、struts2的配置

 

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD StrutsConfiguration 2.3//EN"

    "http://struts.apache.org/dtds/struts-2.3.dtd">

   

<struts>

    <include file="struts-default.xml" />

    <constant name="struts.ObjectFactory" value="spring" /><!--    表示这里面的action由spring进行创建 -->

    <constant name="struts.devMode" value="true" />

    <!--解决乱码    -->

    <constant name="struts.i18n.encoding" value="UTF-8" />

   

    <package name="control" namespace="/control"extends="struts-default">

        <global-results>

            <result name="message">/page/share/message.jsp</result>

        </global-results>

        <action name="center-*"><!-- 直接跳转,不需要经过class的验证,默认返回success -->

            <result name="success">/page/controlcenter/{1}.jsp</result>

        </action>

        <!-- 产品类别展示 -->

        <action name="producttypelist" class="productTypeAction" method="execute">

            <result name="list">/page/product/producttypelist.jsp</result>

        </action>

        <!-- 产品类别管理 -->

        <action name="*-producttypemanage" class="productTypeManageAction" method="{1}UI">

            <result name="{1}">/page/product/{1}_productType.jsp</result>

        </action>

        <action name="producttypemanage-*" class="productTypeManageAction" method="{1}">

            <result name="{1}">/page/product/{1}_productType.jsp</result>

        </action>

        <!-- 品牌类别展示 -->

        <action name="brandlist" class="brandAction"method="execute">

            <result name="list">/page/product/brandlist.jsp</result>

        </action>

        <!-- 品牌类别管理 -->

        <action name="*-brandmanage" class="brandManageAction" method="{1}UI">

            <result name="{1}">/page/product/{1}_brand.jsp</result>

        </action>

        <action name="brandmanage-*" class="brandManageAction" method="{1}">

            <result name="{1}">/page/product/{1}_brand.jsp</result>

        </action>

       

    </package>

</struts>


 

 

5、接下来我们测试一下页面的效果

 

我们访问这个网站

 

http://localhost:8080/babaSport_1200_brand_edit_find/control/center-main

 

查询

 


 


然后我们的修改功能

 

 

 

 

 

 



 

关于网站为什么要这样写,上几篇blog有介绍

 

6、总结

 

这里我们做的就是如何把图片上传到服务器,修改的时候验证格式,并且修改路径,查询的时候可以根据名字模糊查询

 


 

 

 

 

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值