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

     

     

    相关文章
    |
    2天前
    |
    数据采集 人工智能 安全
    |
    11天前
    |
    云安全 监控 安全
    |
    3天前
    |
    自然语言处理 API
    万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
    通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
    1019 151
    |
    3天前
    |
    编解码 人工智能 机器人
    通义万相2.6,模型使用指南
    智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
    |
    16天前
    |
    机器学习/深度学习 人工智能 自然语言处理
    Z-Image:冲击体验上限的下一代图像生成模型
    通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
    1711 9
    |
    8天前
    |
    人工智能 自然语言处理 API
    一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
    一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
    654 152
    |
    10天前
    |
    人工智能 安全 前端开发
    AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
    AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
    620 12
    |
    10天前
    |
    人工智能 自然语言处理 API
    Next AI Draw.io:当AI遇见Draw.io图表绘制
    Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
    691 151