JFinal学习07 控制器——接收数据之getBean()和getModel()

JFinal学习07 控制器——接收数据之getBean()和getModel()

视频来源https://www.bilibili.com/video/BV1Bt411H7J9/?spm_id_from=333.337.search-card.all.click

文章目录

  • JFinal学习07 控制器——接收数据之getBean()和getModel()
    • `一、接收数据的类型`
    • `二、getBean()和getModel()的区别`
    • `三、getBean()`
      • 验证getBean()方法
      • 指定其他类名:
      • 不设置类名
    • `四、getModel()`

一、接收数据的类型

接收浏览器批量提交的数据 \color {ORANGE} {接收浏览器批量提交的数据} 接收浏览器批量提交的数据

关注:批量


二、getBean()和getModel()的区别

1、使用的区别:

  • getBean只是一个 javaBean
  • getModel必须是一个和数据库映射的一个JFinal Model

2、JFinal解析方法不同:

  • getBean依赖getset方法去取值和设置属性。
  • getModel则基于getput方法

三、getBean()

  • 当有多个字段提交时,通过getBean接收 批量 \color {blue} {批量} 批量提交的数据

  • 在后端创建一个 b e a n \color {blue} {bean} bean
    如:此例中创建Article这样一个bean

package demo;

public class Article {
	
	private long id;
	private String title;
	private String subtitle;
	private String content;
	
	public long getId() {
		return id;
	}
	public void setId(long id) {
		this.id = id;
	}
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getSubtitle() {
		return subtitle;
	}
	public void setSubtitle(String subtitle) {
		this.subtitle = subtitle;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	
	@Override
	public String toString() {
		return "Article [id=" + id + ", title=" + title + ", subtitle=" + subtitle + ", content=" + content + "]";
	}

}

getBean()方法实际上通过getXXX()和setXXX()来进行前端字段和bean属性的转换的

p.s.: 每个属性的get和set方法以及对象的toString方法可以通过如下方式快捷生成:
在这里插入图片描述

IndexController.java类中:

	public void index() {	
		Article article = getBean(Article.class);
		
		System.out.println(article);

//		render("/index.html");
		render("/index2.html");

	}

验证getBean()方法

前端浏览器提交数据:

后端接收到的数据为null: (???)

原因:html页面需要以属性值的方式调用

  • 这是未设置属性值方式:
  • 重新设置属性值方式:(默认是小写类名)

可以看到成功接收到数据了:


指定其他类名:

如ar1:

则在
IndexController.java类中:
设置
Article article = getBean(Article.class,"ar1");

	public void index() {	
		Article article = getBean(Article.class,"ar1");
		
		System.out.println(article);

//		render("/index.html");
		render("/index2.html");

	}

可以成功接收到数据:


不设置类名

如果不想指定类名:

则需要在
IndexController.java类中:
设置
Article article = getBean(Article.class,"");

	public void index() {	
		Article article = getBean(Article.class,"");
		
		System.out.println(article);

//		render("/index.html");
		render("/index2.html");

	}

四、getModel()

用法与getBean()一样,但是对传入的类有要求:必须是JFinal Model

在这里插入图片描述

后续在数据库章节学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/705188.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

6.每日LeetCode-数组类,找到所有数组中消失的数字(Go)

题目 448找到所有数组中消失的数字.go 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。 示例 1: 输入:nums [4,3,2,7,8,2,…

PCIE的吞吐量如何计算和记忆诀窍?

简介: PCIe标准中的性能参数有好几个,比如设备的带宽和吞吐量是多少?传输速率? 百度百科上,PCIE标准的传输速率与带宽对应表如下(表中速率为单向速率)。网上有些数据是双向的,性能数…

去哪里找电子产品、单片机的论坛。去哪里找一些成熟方案?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「单片机的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!你从网络上,论…

MCGS仿真教学1:单个变量与博途进行通讯

目录 一、博途配置1.1、博途通讯常用配置1.2、博途测试程序二、MCGS配置2.1、工程配置2.2、设备组态2.3、添加单个变量2.4、添加画面2.4.1、按钮2.4.2、指示灯三、下载测试一、博途配置 1.1、博途通讯常用配置 1.2、博途测试程序 二、MCGS配置 2.1、工程配置 选择自己所购买的…

k8s metrics-server服务监控pod 的 cpu、内存

项目场景: 需要开启指标服务,依据pod 的 cpu、内存使用率进行自动的扩容或缩容 pod 的数量 解决方案: 下载 metrics-server 组件配置文件: wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/…

看完“土猪拱白菜“的张锡峰,我明白计算机有多难了

计算机有多难? 今天无意中,看到一篇关于「"土猪拱白菜"学霸后悔报考浙大计算机」的文章。 或许会有不少和我刚开始一样懵圈的同学:张锡峰是谁?"土猪拱白菜"又是什么梗? 带着疑惑,我打开…

大模型高考数学测评结果,国内AI大模型成绩超GPT-4o!

每年高考都是备受全社会关注的一件大事,而今年略有不同,因为除了鱼跃龙门的高三学子们,还多了许多陪他们一同参加考试的 AI 大模型。 在所有的考试科目中,数学显然一直都是最难的那一门,不论是对考生还是对大模型。因…

管理敏感数据

敏感数据泄露是指意外或故意泄露关键信息,例如个人身份信息(PII)、支付卡信息(PCI)、受保护的电子健康信息(ePHI)和知识产权(IP),数据保护措施不足的组织会在…

2024 Java 异常—面试常见问题

目录 一、异常的分类 二、throw和throws都是异常处理的关键字,二者区别。 三、try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗? 四、try-catch-finally 中哪个部分可以省略? 五、常见的 Runti…

neo4j-官网学习

1、cypher 代码学习文档 https://neo4j.com/docs/cypher-cheat-sheet/5/auradb-enterprise 2、APOC函数包安装(desktop) 直接点击就可以安装,安装完之后重启一下,Cypher查询中使用CALL apoc.help(‘apoc’)来检查APOC插件是否已…

全网自动观影一条龙!一步到位的极空间nas-tools搭建教程

全网自动观影一条龙!一步到位的极空间nas-tools搭建教程 哈喽小伙伴们好,我是Stark-C~,前几天为大家分享的《极空间全自动小雅Alist以及Emby全家桶部署教程》大家都反映没用上极空间自己强大的“极影视”有点可惜,所以今天再教大…

JasperReport-合并单元格

合并单元格是做报表时经常会遇到的需求。下面列举两种合并单元格的方式。 一、示例一 合并单元格在Subject。 1.1 创建5列的表 1.2 合并Column4和 Column5 按住Ctrl键点击Column4和 Column5,同时选中。然后右键,选择“Group Columns”。 1.3 合并成功 二、示例二 示例一…

VirtualBox 虚拟机中的 centos7 系统拉取 docker 镜像常见报错及解决方法

一、拉取镜像时报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority 原因:(文心一言给出的原因) 这个错误…

产品经理研读:Agent的九种设计模式(图解+代码)

引言 上周五我在一个特工宇宙的社群里做了一次分享,题目是《从 YC 项目看 AI 趋势以及 AI agent 开发工具类产品该如何设计》,收到了大家不错的反馈,不过回看视频后还是发现不少可以提升的地方,感兴趣的朋友公众号回复“分享”获…

了解AIGC:让AI创造内容,改变未来

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 什么是AIGC? 定义和概念 🧠 关键技术 🤖 AIGC的发展历程 &#x1f…

android studio过滤日志

荣耀手机的日志有很多乱七八糟的输出 在logcat设置过滤 filter name:过滤名称随意 log tag不知道是什么 log message设置过滤的内容或者设置显示的内容 需要过滤的内容: ^(?!.*(gralloc4|InputMethodManager|tagSocket|dataspace)).*$以|分割要过滤的内容 要显…

基于51单片机8x8点阵设计

基于51单片机8x8点阵设计 (仿真+程序) 功能介绍 具体功能: 1.用74HC138驱动8x8点阵; 2.按键可以切换模式; 3.一共4种模式,0~9数字闪出、动态爱心、坦克走动、数字依次向上平移; …

[天翼杯 2021]esay_eval

[天翼杯 2021]esay_eval <?php class A{public $code "";function __call($method,$args){eval($this->code);}function __wakeup(){$this->code "";} }class B{function __destruct(){echo $this->a->a();} } if(isset($_REQUEST[poc]…

减治法思想-二分查找图解案例

减治法介绍 减治法思想 ​ 分治法是将一个大问题划分为若干个子问题&#xff0c;分别求各个子问题&#xff0c;然后把子问题的解进行合并得到原问题的解。 ​ 减治法同样是把一个大问题划分为若干个子问题&#xff0c;但是并不是求解所有的子问题&#xff0c;因为原问题的解…

182.二叉树:二叉搜索树的最小绝对差(力扣)

代码解决 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* Tre…