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依赖
get
和set
方法去取值和设置属性。 - getModel则基于
get
和put
方法
三、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;}@Overridepublic 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
后续在数据库章节学习