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

news2024/11/29 6:35:08

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

在这里插入图片描述

后续在数据库章节学习

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pytorch手把手实作-Generative Adversarial Network (GAN)

文章目录 一、说明二、GAN的介绍三、生成器和鉴别器四、代码实现 一、说明 前言废话免了,会进来看文章内容的只有四种人:1. 只想知道皮毛,GAN在干什么的 2. 想知道细节怎么把GAN训练起来;3. 收藏在收藏夹或是书签当作有看过了&am…

HTTP协议分析实验:通过一次下载任务抓包分析

HTTP协议分析 问:HTTP是干啥用的? 最简单通俗的解释:HTTP 是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。 在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。 一、…

Adobe XD最新版号查询,如何使用?

Adobe XD是Adobe家推出的基于矢量的原型设计合作工具,被业界视为应对Sketch的“对抗”产品。Adobe XD不同于Sketch的系统限制,灵活性比较高,Windows和Mac都可以使用。自2017年推出以来,Adobe XD版经历了多次更新,这篇文…

【Python报错】已解决SyntaxError: can’t assign to function call

成功解决“SyntaxError: can’t assign to function call”错误的全面指南 在Python编程中,语法错误(SyntaxError)是初学者和经验丰富的开发者都可能遇到的问题。其中,“SyntaxError: can’t assign to function call”这个错误常…

IM即时通信技术

本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl IM,即Instant Messaging,是指即时通讯技术,它允许用户通过互联网实时交换文本、语音、视频、文件等多种形式的信息。这种技术打破了传统通信方式的时…

Spring AOP(实现,动态原理)详解版

Spring AOP 1.什么是AOP?1.1引入AOP依赖1.2编写AOP程序 2.Spring AOP核⼼概念2.1 切点(Pointcut)2.2连接点(Join Point)2.3通知(Advice)2.4 切⾯(Aspect) 3.通知类型3.1顺序3.2切⾯优先级 Order3.3 ⾃定义注解 MyAspect 4. Spring AOP 原理5 动态代理怎么实现5.1 JD…

大学数字媒体艺术设计网页设计试题及答案,分享几个实用搜题和学习工具 #媒体#职场发展

现在读书可不像小时候,以前想要校对试题答案,都得找到对应的纸质版答案查看,而且有的还只有答案,没有解析,无法弄清楚答案的由来。但是现在不一样了,现在我们可以通过搜题软件,寻找试题的答案&a…

性能优化随笔(一)

在软件开发过程中,一般要先实现功能方面的需求,功能方面的需求开发完毕之后,往往会考虑性能方面的优化。在业务发展的初期,性能往往能满足使用的需求,这时性能优化不是必不可少的。随着业务的发展,软件复杂…

MySQL提权之UDF提权

1、前言 最近遇到udf提权,几经周折终于搞懂了。感觉挺有意思的,渗透思路一下子就被打开了。 2、什么是udf提权 udf 全称为user defined function,意思是用户自定义函数。用户可以对数据库所使用的函数进行一个扩展(windows利用…

Vue2工程化

本节目标 工程化开发项目运行流程组件化组件注册自定义创建项目 工程化开发 基于构建工具的环境开发Vue Webpack的缺点 webpack的配置并不简单基础的配置雷同各公司缺乏统一标准 Vue CLI Vue CLI是Vue官方提供的一个全局命令工具帮助我们快速创建标准化的开发环境( 集成了w…

【TB作品】MSP430F5529,单片机,电子秒表,秒表

硬件 MSP430F5529开发板7针0.96寸OLED /* OLED引脚分配 绿色板子DO(SCLK)------P4.3D1(DATA)------P4.0RES-----------P3.7DC------------P8.2CS------------P8.1 */ 程序功能 该程序是一个用C语言编写的,用于msp430f5529微控制器上的简单电子秒表应用。它使用…

2024年如何通过完善的工程化,从0到1手把手建立个人 react 组件库

本文聚焦于快速创建并部署个人的组件库,方便平时开发中将通用的组件抽出,也可用于简历上展示个人的组件成果~ 组件库体验地址:components-library 关于以上内容,你是否好奇如何实现的,对于大多数项目,诸如…

USB Type-C 和 USB供电数据和电源角色

USB Type-C 连接器生态系统随着现代平台和设备需求的变化而不断发展。 USB Type-C 连接器生态系统可满足现代平台和设备不断变化的需求,并且符合更小、更薄且更轻便的外形设计趋势。此外,针对 Type-C 连接器修改 USB PD 有助于满足高耗电应用的需求。 …

容声冰箱正式发布主动除菌净味白皮书,守护家人饮食健康

近日,由中国家用电器研究院指导、全国家用电器工业信息中心和容声冰箱联合编制的《冰箱主动除菌净味技术发展白皮书》(下称《白皮书》)正式发布。 《白皮书》指出,容声将IDP主动除菌技术应用到冰箱冷冻、冷藏区域,实现…

百华鞋业祝莘莘学子旗开得胜,一举夺魁

在知识的海洋中, 有一群人以笔为剑, 在漫长的岁月里不断磨砺, 只为迎接那场人生的重要战役——高考。 高考, 是学子们十几年寒窗苦读的见证, 是他们用奋斗书写青春考卷的舞台。 在这个舞台上, 他们将…

硕思闪客精灵(shankejingling)软件最新版下载及详细安装教程

闪客精灵(Sothink SWF Decompiler)是一款先进的SWF反编译软件,它不但能捕捉、反编译、查看和提取Shock Wave Flash影片(.swf和.exe格式文件),而且可以将SWF格式文件转化为FLA格式文件。它能反编译Flash的所…

YOLOv10开源,高效轻量实时端到端目标检测新标准,速度提升46%

前言 实时目标检测在自动驾驶、机器人导航、物体追踪等领域应用广泛,近年来,YOLO 系列模型凭借其高效的性能和实时性,成为了该领域的主流方法。但传统的 YOLO 模型通常采用非极大值抑制 (NMS) 进行后处理,这会增加推理延迟&#…

k8s挂载配置文件(通过ConfigMap方式)

一、ConfigMap简介 K8s中的ConfigMap是一种用于存储配置数据的API对象,属于Kubernetes中的核心对象。它用于将应用程序的配置信息与容器镜像分离,以便在不重新构建镜像的情况下进行配置的修改和更新。ConfigMap可以存储键值对、文本文件或者以特定格式组…

Selenium with Python Behave(BDD)

一、简介 Python语言的行为驱动开发,Behavior-driven development,简称BDD. "Behavior-driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or bu…