SpringMVC框架-15:springmvc中的form标签与数据回显

标签简介:

srpingmvc中的form标签只是restful风格的请求访问,使用这个form标签应该保证有数据的回传,也就是说,它一出来就要展示数据的。

使用方式

第一步:引入标签库:这里是再jsp中

<%@taglib uri="http://www.springframework.org/tags/form" prefix="fm"%>

第二步:创建一个对象(domain)和引用的对象类型

这里使用了lombok插件

同时注意:这里的性格在前端界面应该是一个单选选项,爱好是一个数组,宠物是一个对象类型的

用户(user)domain

@Data
public class User {
    private String user_name;
    private String user_age;
    private Integer user_sex;
    private String[] hobby;//爱好
    private Pet pet;
}

宠物(pet)domain

@Data
public class Pet {
    private Integer id;
    private String name;
}

第三步:创建一个连接发送请求

<a href="${pageContext.request.contextPath}/testForm">springmvc表单测试</a>

第四步:创建一个controller接收并处理请求

 

@RequestMapping("/testForm")
    public String test13(Model model){
        //存放爱好的集合 这里我们注意一下,创建一个爱好的集合,存放可选的全部爱好
        ArrayList<String> hobbylist = new ArrayList<>();
        hobbylist.add("英雄联盟");
        hobbylist.add("王者荣耀");
        hobbylist.add("刀塔");

        //存放宠物的集合  这个集合存放的是前端界面中可选的全部宠物
        ArrayList<Pet> pets = new ArrayList<>();
        Pet pet1 = new Pet();
        pet1.setId(1);
        pet1.setName("老虎");
        Pet pet2 = new Pet();
        pet2.setId(2);
        pet2.setName("狮子");
        Pet pet3 = new Pet();
        pet3.setId(3);
        pet3.setName("猎豹");
        //将宠物添加到集合中
        pets.add(pet1);
        pets.add(pet2);
        pets.add(pet3);

        //创建对象并设置属性
        User user = new User();
        user.setUser_name("蒲胤臻");
        user.setUser_age("23");
        String[] hobby = new String[]{"英雄联盟","王者荣耀"};//这里的爱好是用户本来就拥有的爱好
        user.setHobby(hobby);
        user.setPet(pet2);//这里是用户本来就拥有的宠物
        user.setUser_sex(0);//这里设置用户的性别

        //将上面设置好的数据全部存放到model中的request域中
        model.addAttribute("hobbylist",hobbylist);
        model.addAttribute("pets",pets);
        model.addAttribute("command",user);
        return "resoult.jsp";
    }

第五步:创建前端界面使用springmvc表单接收数据并回显数据

这里做一下解释:

  • path:表示对象的那个属性
  • label:表示要显示出来的信息
  • items:表示他本来拥有的所有信息,然后你可以从这里面选择哪些,比如爱好,他就表示所有可选的爱好,就是我们提前设置的
  • itemValue:表示选项的id值
  • itemLabel:表示选项里展示出来的数据
<h3>表单展示</h3>
<fm:form action="/formdata" method="post">
    姓名:<fm:input path="user_name"/> <br>
    年龄:<fm:input path="user_age"/> <br>
    性别:<fm:radiobutton path="user_sex" value="1" label="男"/>
         <fm:radiobutton path="user_sex" value="0" label="女"/> <br>
    爱好:<fm:checkboxes path="hobby" items="${hobbylist}"/> <br>
    宠物:<fm:select path="pet.id" items="${pets}" itemValue="id" itemLabel="name"/> <br>
    <input type="submit" value="提交">
</fm:form>

结果:我们把要回显的数据已经全部自动填充了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值