Jfinal各种获取前台数据的方法

发现网上大部分关于Jfinal获取前台数据都只介绍了获取Json格式的数据,所以今天就来写一篇文章,全面介绍一下Jfinal各种获取前台数据的方法

 

首先第一个,获取url中的数据:

 

在浏览器地址栏上输入访问NewsController中的getData方法的地址,同时传递一个name参数,如下

 

http://localhost:8080/news/getData?name='张三'

 

然后在getData方法中获取到name的值,代码如下

 

注:这里继承的Controller类是Jfinal框架自带的

 

public class NewsController extends Controller {

 

    public void getData(){

        String name = getPara("name");

        System.out.println(name);//输出'张三'

    }

 

}

获取前台表单数据封装到普通类对象中:

 

表单数据如下

 

<form action="/news/getData" method="post">

    <input  type="text" name="student.name" >

    <input  type="text" name="student.age">

    <input type="submit"/>

</form>

注意:这里input标签中的name属性的格式必须为:类名首字母小写+类中属性名

 

创建Student类:(注:如果这里的类名改为Person,那么上面的input标签中的name属性值就应该改为name="person.name"和name="person.age")

 

public class Student {

   private String name;

   private int age;

 

    public String getName() {

        return name;

    }

 

    public void setName(String name) {

        this.name = name;

    }

 

    public int getAge() {

        return age;

    }

 

    public void setAge(int age) {

        this.age = age;

    }

 

    @Override

    public String toString() {

        return "Student{" +

                "name='" + name + '\'' +

                ", age=" + age +

                '}';

    }

}

最后为Controller中代码

public void getData(){

  Student student = getBean(Student.class);

  System.out.println(student);

}

 

 

 

 

 

获取表单数据封装到实体类中

 

首先,在Jfinal中,和数据库表关联的实体类中是可以不用写字段的,这也是Jfinal的一个优点

 

比如现在我想要创建一个news的实体类,我只需要让这个类继承Jfinal中的Model类

 

如下

 

public class News extends Model<News> {

}

这样我的news实体类就创建成功了,然后在Jfinal的Config类中将news类和数据库中一张表关联起来,这样news类就拥有了表中的属性了

 

表设计如下

 

 

 

现在想要将前台表单中的数据直接封装成news类的对象,代码如下

 

表单数据:

 

<form action="/news/getData" method="post">

    <input  type="text" name="news.newstitle" ></input>

    <input type="submit"/>

</form>

Controller中的代码

 

public void getData(){

    News news = getModel(News.class);//完成news对象封装

    System.out.println(news.get("newstitle"));//输出news对象中的newstitle属性

}

获取前台json格式数据封装成对象


上一篇:在使用new TypeReference<泛型>() {}


下一篇:一个前端报错技术细节