综合案例(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封装完毕。

     

     

    相关文章
    |
    10天前
    |
    设计模式 JSON 前端开发
    SSMP整合案例第四步 表现层controller开发及用Result进行统一消息处理
    SSMP整合案例第四步 表现层controller开发及用Result进行统一消息处理
    18 2
    |
    16天前
    |
    NoSQL Java 数据库
    SpringBoot实用开发篇第三章(数据层解决方案操作)
    SpringBoot实用开发篇第三章(数据层解决方案操作)
    |
    消息中间件 JavaScript 小程序
    Controller层代码这么写,简洁又优雅!
    说到 Controller,相信大家都不陌生,它可以很方便地对外提供数据接口。它的定位,我认为是「不可或缺的配角」。 说它不可或缺是因为无论是传统的三层架构还是现在的 COLA 架构,Controller 层依旧有一席之地,说明他的必要性。 说它是配角是因为 Controller 层的代码一般是不负责具体的逻辑业务逻辑实现,但是它负责接收和响应请求。
    |
    存储 前端开发 安全
    Controller层代码技巧,开发人员可以编写出更高效、可维护的代码
    Controller层代码技巧,开发人员可以编写出更高效、可维护的代码
    132 0
    |
    数据采集 算法 数据可视化
    MMdetection框架速成系列 第03部分:简述整体构建细节与模块+训练测试模块流程剖析+深入解析代码模块与核心实现
    按照抽象到具体方式,从多个层次进行训练和测试流程深入解析,从最抽象层讲起,到最后核心代码实现,希望帮助大家更容易理解 MMDetection 开源框架整体构建细节
    551 0
    |
    Java Spring
    Controller层代码就该这么写,简洁又优雅! 2
    Controller层代码就该这么写,简洁又优雅! 2
    |
    消息中间件 JavaScript 小程序
    Controller层代码就该这么写,简洁又优雅!
    Controller层代码就该这么写,简洁又优雅!
    |
    Java Spring
    Controller 层代码就该这么写,简洁又优雅!(1)
    Controller 层代码就该这么写,简洁又优雅!
    122 0
    |
    Java 数据库连接 API
    Controller 层代码就该这么写,简洁又优雅!(2)
    Controller 层代码就该这么写,简洁又优雅!
    |
    编解码 前端开发 数据处理
    前端基础向--从项目入手封装公共组件
    前端基础向--从项目入手封装公共组件
    267 0

    热门文章

    最新文章