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;
}
@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
后续在数据库章节学习