7-22关于agriculture-mvc的理解与完善,通过关键字模糊查询

  1. 配置文件中:有关客户端是手机还是电脑的判断(GoodsController.java)
 public String initGoods(Model model, HttpSession session, GoodsForm goodsForm, Device device) throws UnsupportedEncodingException

2.网站的错误页面(error.jsp),会返回错误信息,并提示这是一个错误页面

  1. <div class="row">
            <div class="well col-md-5 center login-box">
                <div class="alert alert-info">
                    ${exceptionMessage}
                </div>
                <form class="form-horizontal" action="${pageContext.request.contextPath}/" method="get">
                    <fieldset>
                        <p>
                        	这是一个错误页面说明服务器出现了问题,请返回首页重新登录。
                        </p>
    
                        <p class="center col-md-5">
                            <button type="submit" class="btn btn-primary">返回首页</button>
                        </p>
                    </fieldset>
                </form>
            </div>
            <!--/span-->
        </div

3.缓存管理(ehcache),例如,网站图片的加载,初次加载时会访问数据库,再次请求则会先去缓存中找,若没有再去数据库中查找

<li><a href="#"><canvas></canvas>
<img src="shop/images/banner1.jpg" /></a></li>

<div class="grid_1_of_3 grid_1_of_3first images_1_of_3" th:class="${status.count%3==1}?‘grid_1_of_3 grid_1_of_3first images_1_of_3‘:‘grid_1_of_3 images_1_of_3‘" th:each="goodsInfo,status:${list}">												

<img alt="商品详细情况" th:src="@{showImage(pictureId=${goodsInfo.pictureId})}" style="height:185px;width:330px;" />
@RequestMapping(value = "showImage", method = RequestMethod.GET)
	public void showImage(HttpServletResponse response, CommodityForm commodityForm) throws IOException {
		log.info("取得商品图片");
		response.setContentType("image/jpg");
		OutputStream stream = response.getOutputStream();
		try {
			stream.write(commodityService.getPicture(commodityForm));
			stream.flush();

		} catch (Exception e) {
			log.info(commodityForm.getPictureId() + ",该图片不存在,需要补充!");
		} finally {
			stream.close();
		}
	}

4.首页模糊查询

  • userBar.html中添加一个form表单
  • <form action="jiansuo" th:object="${guestForm}" method="post">
    	<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li>
    	<li><span><input name="commodityName" type="text" /></span></li>
    	<li>&nbsp;&nbsp;&nbsp;&nbsp;</li>
    	<li><span><input name="jiansuo" type="submit" value="搜索" /></span></li>
    </form>
  • controller与service中
  •  @RequestMapping(value = "jiansuo", method = RequestMethod.POST,params="jiansuo")
    	    public String jiansuoGoods(Model model, HttpSession session, GoodsForm goodsForm, Device device) throws UnsupportedEncodingException {
    	    	log.info("商品列表初始化");
    	    
    	    	model.addAttribute("goodsForm", goodsForm);
    	    	model.addAttribute("list", goodsService.jiansuoGoodsList(goodsForm));
    	    	return "shop/index";
    	    }
public List<GoodsForm> jiansuoGoodsList(GoodsForm frm) {

		List<GoodsForm> result = queryDao.executeForObjectList("Goods.jiansuoGoodsList", frm);
		return result;
	}
  • sqlMap中的select
  • <select id="jiansuoGoodsList" parameterClass="cn.agriculture.web.form.GoodsForm"
    		resultClass="cn.agriculture.web.form.GoodsForm">
    		SELECT commodity.commodity_id as commodityId,
    		commodity.type as type,
    		supplier.supplier_name as supplierName,
    		brand.brand_name as brandName,
    		commodity.commodity_name as commodityName,
    		commodity.weight as weight,
    		commodity.is_gift as isGift,
    		commodity.specifications as specifications,
    		commodity.unit as unit,
    		commodity.benchmark_price as benchmarkPrice,
    		commodity.guide_price as guidePrice,
    		commodity.retail_price as retailPrice,
    		commodity.competition_level as competitionLevel,
    		commodity.note as note,
    		commodity.update_time as updateTime,
    		commodity.update_user as updateUser,
    		commodity.picture_id as pictureId,
    		stock.stock as stock
    		FROM commodity, supplier, brand, stock
    		WHERE
    		commodityName like ‘%$commodityName$%‘
    		<!-- commodity.commodity_name like concat(‘%‘,#commodityName#,‘%‘) -->
    	</select>
时间: 2024-08-03 07:20:07

7-22关于agriculture-mvc的理解与完善,通过关键字模糊查询的相关文章

MVC+EF 理解和实现仓储模式和工作单元模式

MVC+EF 理解和实现仓储模式和工作单元模式 原文:Understanding Repository and Unit of Work Pattern and Implementing Generic Repository in ASP.NET MVC using Entity Framework 文章介绍 在这篇文章中,我们试着来理解Repository(下文简称仓储)和Unit of Work(下文简称工作单元)模式.同时我们使用ASP.NET MVC和Entity Framework 搭

1.3 谈谈你对MVC的理解

1.谈谈你对MVC的理解 MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开. MVC中的模型.视图.控制器它们分别担负着不同的任务. 视图: 视图是用户看到并与之交互的界面.视图向用户显示相关的数据,并接受用户的输入.视图不进行任何业务逻辑处理. 模型: 模型表示业务数据和业务处理.相当于JavaBean.一个模型能为多个视图提供数据.这提高了应用程序的重用性 控制器: 当用户单击Web页面中的提交按钮

浅谈对MVC的理解

1.MVC设计模式理解 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑.MVC被独特的发展起来用于映射传统的输入.处理和输出功能在一个逻辑的图形化用户界面的结构中. Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,主要提供了模型数据

Jsp+Servlet+JavaBean经典MVC模式理解

MVC 模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能. M, Model(模型)实现系统的业务逻辑 1. 通过DAO实现操作数据库的业务逻辑 2. 其他系统业务逻辑 JavaBean职能 V, View(视图)负责与用户交互,即在界面上展示数据对象给用户 Jsp职能 C, Controler(控制)Model与View之间沟通的桥梁 1. 分派用户的请求并选择适当的视图用于显示 2. 解释用户的输入

JAVA:连接池技术说明以及MVC设计模式理解

JAVA:连接池技术说明以及MVC设计模式理解

使用MVC模式开发程序,完成数据的模糊查询【转】

编写程序:使用MVC模式开发程序,完成数据的模糊查询. 要求: (1)index.jsp用于输入要查询的数据. (2)result.jsp:用于显示结果. (3)queryServlet:用于验证数据.实例化JavaBean.调用连接数据库.控制页面跳转 (4)queryDAO:用于连接数据库及进行数据库的操作如:查询.删除.更改等 (5)Student:JavaBean用于数据的封装,方便将查询结果在servlet与jsp页面之间进行传递等 以上几个部分共同构成了MVC模式,JSP为MVC模式

[原创]java WEB学习笔记23:MVC案例完整实践(part 4)---模糊查询的设计与实现

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

深入理解Javascript之this关键字

深入理解Javascript之this关键字 作者: Laruence(   ) 本文地址: http://www.laruence.com/2009/09/08/1076.html 转载请注明出处 Javascript是一种很灵活的语言, 而This关键字又是灵活中的灵活, 但是因为它的灵活, 也注定了它的难用. 以前我用this的时候, 都会觉得不踏实, 老是担心它不知道怎么地就会指到另外的什么地方. 其实, 这都是因为, 我们对它的不了解. 刚好最近再给百度学院做<Javascript高级

parent,son深刻理解this,super关键字

核心点: super关键字,表示调用的是父类对象. this关键字,表示调用的是当前运行类对象. 那么如果在父类中,使用了关键字,this,此时的this指的是什么呢? 看下面的例子,再加深理解核心店的第二句话就ok了. parent类: package com.ghsy.thissuper; public class Parent { public void init(){ System.out.println(this.getClass()); //获得当前运行类 System.out.pr