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

作者 : admin 本文共2036个字,预计阅读时间需要6分钟 发布时间: 2024-06-9 共2人阅读

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

视频来源http://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方法可以通过如下方式快捷生成:
JFinal学习07 控制器——接收数据之getBean()和getModel()插图

IndexController.java类中:

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

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

	}

验证getBean()方法

前端浏览器提交数据:

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

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

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

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

  • 这是未设置属性值方式:

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

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

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

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

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


指定其他类名:

如ar1:

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

则在
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");

	}

可以成功接收到数据:

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


不设置类名

如果不想指定类名:

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

则需要在
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");

	}

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


四、getModel()

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

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

后续在数据库章节学习

本站无任何商业行为
个人在线分享 » JFinal学习07 控制器——接收数据之getBean()和getModel()
E-->