综合案例(controller层编写) | 学习笔记

简介: 快速学习综合案例(controller层编写)。

开发者学堂课程【Lucene知识精讲与实战(下)综合案例(controller层编写)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/701/detail/12347


综合案例(controller层编写)

 

1、controller,提交的表单的路径是 list,也就是在 controller 中,写查询方法。由于类上写了 controller 注解,返回 string,按照 springvc 编写方式返回的字符串是页面名,

@ controller

@RequestMapping("/list")

public class SearchController {

@RequestMapping加注解,在注解中应该写方法的路径,但由于页面中提交的路径就是list,所以可以什么都不写,默认在里面

public String query(string querystringprice) { 查询关键字,namequerystring

}

2、在表单中提交还有两个,一个是价格,一个是配置当前页,都是隐藏域,在页面上如果选价格,触发 js 方法 filter

  • 0-500
  • 500-1000/li>
  • price', '1000- 5000')">1000- 5000

  • 5000-10000
  • <а hrеf= "jаvаѕсrірt:fіltеr('рrісе', " 10000- 50000' )">10000- 50000

    <а hrеf= "jаvаѕсrірt:fіltеr(' рrісе',' 50000- 100000' )">50000- 100000

    3、对price表单元素进行赋值,1000- 5000字符串。

    public String query(string querystring,string price)

    4、接收当前页,第一页第二页d第三页,变量名,必须跟页面上隐藏域的name属性值保持一致,配置当前页

    public String query(string querystringstring priceinteger page)

    5、抛日常。

    /**

    * 搜索

    *@param queryString查询的关键字

    *@param price 查询价格范围

    *@param page当前页

    *@return

    *@throws Exception

    */

    @RequestMapping

    public String query(String queryString, String price, Integer page) throws Exception{

    }

    6、做准备目录,返回search.html文件,直接输入页面名称即可,不用输入后缀名。

    return"search"

    7、对查询的条件进行数据回显,条件传进结果后进行封装,封装完返回给页面,把条件都要带上,默认对象进行返回

    public String query(String queryString, String price, Integer page, Model model) throws Exception{

     8、看页面,查询条件回显时,页面上的当前页是从返回的里面取的。

    //查询条件回显到页面

    model. addAttribute(" queryString" , queryString);查询关键字

    model. addAttribute("price" , price);价格

    model. addAttri bute("page", page);当前页

    return" search" ;

    9、处理当前页,第一次查询时当前页有可能是空的,什么都没传进来。

    //处理当前页

    判断是否为空

    if (StringUtils. isEmpty(page)) {

    page = 1;

    }

    当前页是负数,不合理

    if (page <= 0) {

    page = 1;

    }

    //调用service查询

    关于它的接口和实现类都已写出,所以进行注入。

    @Autowired

    private SearchService searchService;

    10、复制 public String query(String queryString, String price, Integer page, Model model) throws Exception作为 service 接口,返回值不对,不应该返回页面,应该返回数据,封装实体类为resultmodel,封装完之后进行返回。

    public resultmodel query(String queryString, String price, Integer page, Model model) throws Exception

    11封装后的数据包含查询到的结果集,商品总数,总页数,当前页。

    //商品列表

    private List skuList;

    //商品总数

    private Long recordCount ;

    //总页数

    private Long pageCount;

    //当前页

    private long curPage;

    12在实现类中,在controller中就可以进行调用。

    searchService . query(queryString, price, page);

    model 是关于 springac,所以在 service 中用不到,所以可以删掉

    Public ResultModel query(String queryString, String price, Integer page) throws Exception{

    13返回结果集,不会报错。

    ResultModel resultModel=searchService . query(queryString, price, page);

    14ResultModel 查询到结果集,查询到的结果对象返回到页面,页面进行展示。

    15文档中的数据,图片都需要 ResultModel 进行展示,把 ResultModel 放入springac 的对象中,把它传到页面中进行展示。值是 ResultModel,页面遍历数据,有 for 循环,result 中有 skulist 结果集。

    model. addAttribute ( "result ", resultModel);

    Controller封装完毕。

     

     

    相关文章
    |
    XML 开发框架 前端开发
    J2EE之自定义框架知识(下篇 综合运用增删改查)
    J2EE之自定义框架知识(下篇 综合运用增删改查)
    62 0
    |
    存储 缓存 监控
    《优化接口设计的思路》系列:第二篇—接口用户上下文的设计与实现
    大家好!我是sum墨,一个一线的底层码农,平时喜欢研究和思考一些技术相关的问题并整理成文,限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。 作为一名从业已达六年的老码农,我的工作主要是开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一些实用的技巧。
    114 0
    |
    5月前
    |
    NoSQL Java 数据库
    SpringBoot实用开发篇第三章(数据层解决方案操作)
    SpringBoot实用开发篇第三章(数据层解决方案操作)
    |
    4月前
    业务系统架构实践问题之代码应该主要放在biz层还是domain层
    业务系统架构实践问题之代码应该主要放在biz层还是domain层
    |
    5月前
    |
    SQL 前端开发 API
    SSMP整合案例第一步 制作分析模块创建与开发业务实体类
    SSMP整合案例第一步 制作分析模块创建与开发业务实体类
    29 0
    |
    6月前
    |
    资源调度 供应链 监控
    深入探究:ERP系统的核心模块解析
    深入探究:ERP系统的核心模块解析
    316 0
    |
    数据采集 算法 数据可视化
    MMdetection框架速成系列 第03部分:简述整体构建细节与模块+训练测试模块流程剖析+深入解析代码模块与核心实现
    按照抽象到具体方式,从多个层次进行训练和测试流程深入解析,从最抽象层讲起,到最后核心代码实现,希望帮助大家更容易理解 MMDetection 开源框架整体构建细节
    604 0
    |
    编解码 前端开发 数据处理
    前端基础向--从项目入手封装公共组件
    前端基础向--从项目入手封装公共组件
    303 0
    |
    自然语言处理 算法 Java
    综合案例(Service编写) | 学习笔记
    快速学习综合案例(Service编写)。
    综合案例(Service编写) | 学习笔记
    |
    SQL Java 数据库连接
    数据层设计与开发(数据层标准实现类) | 学习笔记
    简介:快速学习数据层设计与开发(数据层标准实现类)
    147 0
    数据层设计与开发(数据层标准实现类) | 学习笔记