Spring DataBinding

2023-11-11

1. 用@ModelAttribute注释方法 

1.1  @ModelAttribute和@RequestMapping同时注释一个方法

<span style="font-size:14px;">    @RequestMapping(method = RequestMethod.GET)
    @ModelAttribute
    public Account register(Locale currentLocale) {
        Account account = new Account();
        account.getAddress().setCountry(currentLocale.getCountry());
        return account;
    }</span>

这个方法的返回值不是视图名称,而是model属性的值。视图名称由RequestToViewNameTranslator根据请求转换为逻辑视图。
Model属性名称有@ModelAttribute(value="")指定,相当于在request中封装了key="account" , value=account。


2. 用@ModelAttribute注释方法参数

    @ModelAttribute
    public BookSearchCriteria criteria() {
        return new BookSearchCriteria();
    }

    @ModelAttribute("categories")
    public List<Category> getCategories() {
        return this.bookstoreService.findAllCategories();
    }

    /**
     * This method searches our database for books based on the given {@link BookSearchCriteria}. 
     * Only books matching the criteria are returned.
     * 
     * @param criteria the criteria used for searching
     * @return the found books
     * 
     * @see com.apress.prospringmvc.bookstore.repository.BookRepository#findBooks(BookSearchCriteria)
     */
    @RequestMapping(value = "/book/search", method = { RequestMethod.GET })
    public Collection<Book> list(@ModelAttribute("bookSearchCriteria") BookSearchCriteria criteria) {
        return this.bookstoreService.findBooks(criteria);
    }
@ModelAttribute("bookSearchCriteria") BookSearchCriteria criteria注释方法参数,参数criteria的值来源于criteria()方法中的model属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring DataBinding 的相关文章

  • [深度学习]note for Machine Learning: An Algorithmic Perspective, Second Edition(Ch01-Ch03)【部分勘误+代码待补充】

    Machine Learning An Algorithmic Perspective Second Edition Part 1 1 绪论1 1 如果数据有质量 xff0c 地球将成为黑洞1 2 学习1 2 1 机器学习 1 3 机器学习
  • mantis整合svn续:把提交的所有信息自动保存为note

    在前面两篇转载的文章中 xff0c 介绍了mantis和svn的整合 http blog csdn net newjueqi article details 7785373 http blog csdn net newjueqi artic
  • (Note)海韵&海韵代工的电源-风扇智能启停按钮

    海韵是电源四大厂之一 xff0c 旗下有众多型号的电源 其中 xff0c 部分电源的后部会有一个方形的按钮 xff08 在电源开关左侧 xff09 如图所示 xff1a 这是海韵FOCUS 43 电源特有的 34 HYBRIDMOOE 34
  • (Note)深度学习与人工提取的特征

    首先 xff0c 深度学习一般 不需要人工提取特征 如果仅仅给网络提供人工提取的特征 xff0c 反而有可能会造成网络性能的下降 xff08 深度学习模型可能提取到一些人类不易察觉的特征 xff0c 这些特征可能对结果的判定有着较大的贡献
  • linux-docker

    unix liunx windows linux 文件系统 所有的资源都是目录在 root 根目录下 一 指令 ip addr ifconfig cd ls vim sudo 管理员身份 代表换行输入 pwd 查看所在目录 sudo sys
  • BackgroundWorker

    BackgroundWorker的事件响应函数 private void backgroundWorker1 DoWork object sender DoWorkEventArgs e BackgroundWorker worker se
  • 美国的有线电视节目提供商

    HBO HBO电视网 英文名 Home Box Office 是总部位于美国纽约的有线电视网络媒体公司 HBO电视网于1972年开播 全天候播出电影 音乐 纪录片 体育赛事等娱乐节目 与绝大多数电视频道不同的是 它不卖广告 经过22年的发展
  • 把Collection转化为XML

    IList
  • Spring_Accepting request input

    Spring MVC provides several ways that a client can pass data into a controller s handler method These include 1 Query pa
  • ubuntu 安装360浏览器

    ubuntu 安装360浏览器 推荐一个我自己做的普法公众号 大可说法律 有法律方面咨询的可以关注 因为之前收藏的书签都在360浏览器 为了方便 我找到了下载360浏览器的方法 官方下载 https browser 360 cn se li
  • 如何考虑BLL层和DAL层的日志

    DAL层日志 DAL层与数据库交互 日志记录的目的是 1 发生异常时通过日志查找原始信息 便于快速定位原因 2 对于一些复杂的事务可以通过对日志的分析来发现错误的具体位置 BLL层日志 BLL层与UI交互 虽然UI已经对用户输入进行了一些过
  • AI三大主义:符号主义、联结主义、行为主义

    一 符号主义 symbolicism 符号主义 symbolicism 逻辑主义 Logicism 心理学派 Psychlogism 计算机学派 Computerism 其原理主要为物理符号系统 即符号操作系统 假设和有限合理性原理 早期的
  • 博士的归宿

    1 高校 2 央企的研究院 3 外企的研发机构
  • 关于链表的三个常用算法

    找到环的第一个入口点 static public SinglyLinkedListNode
  • Ruby

    1 如何安装ralis 在线安装常常因为公司proxy server的原因产生连接问题 所以可以先到https rubygems org下载然后离线安装 gem install l rails2 3 5 gem
  • 「转」plt.legend()简明使用教程

    原文链接https blog csdn net helunqu2017 article details 78641290 感谢作者辛勤付出 仅作笔记使用 侵删 1 图例legend基础语法及用法 legend语法参数如下 matplotli
  • Tensorflow(1)进行多维矩阵的拆分与拼接

    最近在使用tensorflow进行网络训练的时候 需要提取出别人训练好的卷积核的部分层的数据 由于tensorflow中的tensor和python中的list不同 无法直接使用加法进行拼接 后来发现一个函数可以完成tensor的拼接 函数
  • 规则动词的过去式及发音规则

    规则动词的过去式词尾变化有几种 1 一般情况下加ed 如watched planted watered pulled climbed picked 2 以不发音字母e结尾的加d 如liked moved tasted 3 以辅音字母加y结尾
  • 「学习笔记」torchvision.datasets.MNIST 参数解读/中文使用手册

    DataLoader使用手册 参数解读 PyTorch torch utils data DataLoader 中文使用手册 官方手册如下 torchvision datasets MNIST root train True transfo
  • 2013/1工作总结

    这个月抽时间看了C Primer一书 主要原因是没有基础知识直接看ATL的代码根本不可能 感想之一就是程序员也许必须学习一下C 只学习Java或者C 可能对语言的了解有限 造成对某些问题一直没有透彻的理解 当然了 最后发现还要好好学习理解编

随机推荐

  • Vue2.js (2)引入开发组件

    1 如何引入Vue2 通过CDN https cn vuejs org v2 guide instance html 学习 安装 section CDN DOCTYPE html gt
  • ACL模块H3C真题练习

    ACL相关练习题 客户的网络结构如图所示 要实现如下需求 1 Host C与Host B互访 2 Host B和Host A不能互访 3 Host A和Host C不能互访 那么 多选 A 只在MSR 1的接口GE0 0上应用高级ACL可以
  • flink-CDC的sqlServer连接器的前期准备

    一 安装sqlserver 本次安装是在windows本地进行的测试 版本为sqlserver2019 1 首先下载sqlserver2019的下载器 sqlserver2019可以直接复制下面的连接 https download micr
  • yum不能使用解决办法

    在安装完linux系统后 执行yum 发现报错 不能正常使用 解决方法如下 1 查看系统中是否有安装yum rpm qa grep yum 如果有返回 说明yum是安装了的 但还是不能正常使用 所以要卸载掉原来的yum 2 卸载yum rp
  • wget命令8种实用用法

    大家好 我是良许 wget 是一个可以从网络上下载文件的免费实用程序 它的工作原理是从 Internet 上获取数据 并将其保存到本地文件中或显示在你的终端上 这实际上也是大家所使用的浏览器所做的 例如 Firefox 或 Chrome 其
  • layer好看的弹出文本框

    layer open type 1 title 料架列表 skin layui layer rim 加上边框 area 300px 350px 宽高 shadeClose true skin yourclass content inLj c
  • 手写实现next_permutation(全排列)

    next permutation函数 需要加头文件
  • 绘制思维导图用什么软件?告诉你三个实用的软件

    思维导图是一种有效的思维模式 应用于记忆 学习 思考等的思维 地图 有利于人脑思维的扩散 如今市面上能够辅助我们更好地锻炼大脑 产出思维导图的工具数不胜数 但不同人群的使用不同 适配的软件也不尽相同 那么今天就让我来告诉你电脑好用的思维导图
  • 蚂蚁区块链第17课 错误码指导大全

    1 摘要 本文介绍蚂蚁区块链的错误码按出错来源分为5类 平台校验错误码 虚拟机错误码 区块链错误码 客户端系统错误码 TEE 错误码 并给出了具体的错误码值和解释说明 2 错误码大全 2 1 平台校验错误码 错误码 错误码值 错误消息 描述
  • [Django] Django基础环境配置

    step1 设置python 虚拟环境并激活 然后安装Django开发版本 这里可以本人参考博客 step2 新建项目 之前安装Django以及虚拟环境都是在C盘下处理的 在这里用D盘存储项目 出现小插曲 C Users 用户名 gt d
  • 2023高教社杯数学建模思路 - 案例:FPTree-频繁模式树算法

    文章目录 算法介绍 FP树表示法 构建FP树 实现代码 建模资料 赛题思路 赛题出来以后第一时间在CSDN分享 https blog csdn net dc sinor type blog 算法介绍 FP Tree算法全称是Frequent
  • MySQL基础篇-第15章_存储过程与函数

    第15章 存储过程与函数 讲师 尚硅谷 宋红康 江湖人称 康师傅 官网 http www atguigu com MySQL从5 0版本开始支持存储过程和函数 存储过程和函数能够将复杂的SQL逻辑封装在一起 应用程序无须关注存储过程和函数内
  • vue动态添加路由清空路由

    刚做的项目分多个模块 点击后再查询菜单 动态加进路由 直接动态添加则爆出警告信息 路由重复 于是乎想到了先清空路由 resetRouter const newRouter new Router mode hash scrollBehavio
  • TortoiseGit清除账号密码

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 编辑系统配置 2 删除配置信息 3 删除 git credentials 一般在c盘的用户目录下
  • pytorch怎么加入环境变量_pytorch安装(使用pip3装到conda环境下)(示例代码)

    之前在windows上使用pip3的方式安装过pytorch 虽然偶尔也会HTTP Error 安装失败 但是基本还是可以安装成功的 上 这一次在ubuntu上装了anaconda 想着之后的库都用conda安装 而不使用ubuntu自带的
  • 序(为什么要抄unreal源码)

    unreal所有源码很长 几百万行 一辈子也抄不完 然而 ue4 0版本的runtime只有1887个文件 251043行 不算第三方库 可以只按照渲染相关部分抄写一下 然后 逐版本增补 只需要关注渲染部分 和工作中用到的插件 还是可以的
  • 深入剖析Kubernetes之控制器模式的实现-Job与CronJob

    文章目录 Job CronJob Deployment StatefulSet 以及 DaemonSet 这三个编排概念 它们主要编排的对象 都是 在线业务 即 Long Running Task 长作业 比如 常用的 Nginx Tomc
  • 深度学习常见术语及作用--个人笔记

    1 池化层 提取重要信息 去掉不重要信息 减少参数 减少计算开销 防止过拟合 2 全连接层 FC 在整个卷积神经网络起 分类器 的作用 3 激活函数 给神经元引入了非线性因素 进而提升网络的表达能力 4 backbone 主干 骨干 网络
  • 快速查找Unity死循环

    我们先建立一个新工程 新建C 文件 然后在Start函数中加入以下代码 void Start while true int i 1 把这个C 文件挂到场景摄像机或其它GameObject上 打开这个工程对应的VS工程 如何用VS编辑unit
  • Spring DataBinding

    1 用 ModelAttribute注释方法 1 1 ModelAttribute和 RequestMapping同时注释一个方法 span style font size 14px RequestMapping method Reques