美文网首页
数据回显

数据回显

作者: Stringer | 来源:发表于2016-12-07 09:14 被阅读478次

简单数据类型
对于简单数据类型,如:Integer、String、Float等使用Model将传入的参数再放到request域实现显示。
如下:

    @RequestMapping(value="/editItems",method={RequestMethod.GET})
    public String editItems(Model model,Integer id)throws Exception{
        
        //传入的id重新放到request域
        model.addAttribute("id", id);```


pojo类型
springmvc默认支持pojo数据回显,springmvc自动将形参中的pojo重新放回request域中,request的key为pojo的类名(首字母小写),如下:

controller方法:

//商品信息修改提交
//在需要校验的pojo前加@Validated,在其后加BindingResult bindingResult接收校验错误信息,他们是配对出现的
//指定使用分组校验value={ValidGroup1.class}
//@ModelAttribute("items")指定pojo回显到页面的request的key
@RequestMapping("/editItemsSubmit")
public String editItemsSubmit(Model model,HttpServletRequest request,Integer id,@ModelAttribute("items")
@Validated(value={ValidGroup1.class}) ItemsCustom itemsCustom,BindingResult bindingResult,
MultipartFile items_pic) throws Exception{```

jsp页面:

<c:forEach items="${itemsList }" var="item" varStatus="status">
<tr>
   <td><input name="itemsList[${status.index }].name" value="${item.name }"></td>
   <td><input name="itemsList[${status.index }].price" value="${item.price }"></td>
   <td><input name="itemsList[${status.index }].createtime" value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>"></td>
   <td><input name="itemsList[${status.index }].detail" value="${item.detail }"></td>
   

</tr>
</c:forEach>```


如果key不是pojo的类名(首字母小写),可以使用@ModelAttribute完成数据回显。
@ModelAttribute作用如下:
1、绑定请求参数到pojo并且暴露为模型数据传到视图页面
此方法可实现数据回显效果。

// 商品修改提交
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Model model,@ModelAttribute("item") ItemsCustom itemsCustom)```

页面:

<tr>
    <td>商品名称</td>
    <td><input type="text" name="name" value="${item.name }"/></td>
</tr>
<tr>
    <td>商品价格</td>
    <td><input type="text" name="price" value="${item.price }"/></td>
</tr>```

如果不用@ModelAttribute也可以使用model.addAttribute("item", itemsCustom)完成数据回显。


2、将方法返回值暴露为模型数据传到视图页面

//商品分类
@ModelAttribute("itemtypes")
public Map<String, String> getItemTypes(){

    Map<String, String> itemTypes = new HashMap<String,String>();
    itemTypes.put("101", "数码");
    itemTypes.put("102", "母婴");
    
    return itemTypes;
}```

页面:
商品类型:

<select name="itemtype">
    <c:forEach items="${itemtypes }" var="itemtype">
        <option value="${itemtype.key }">${itemtype.value }</option>        
    </c:forEach>
</select>```

相关文章

  • SpringMVC入门知识7

    数据的回显提交数据失败之后,将刚刚提交的数据重新回显到提交的页面pojo数据回显的方法:1、SpringMVC默认...

  • 数据回显

    简单数据类型对于简单数据类型,如:Integer、String、Float等使用Model将传入的参数再放到req...

  • el-cascader多选+懒加载+数据回显

    背景:记录el-cascader多选+懒加载+数据回显的实际案例。注意:1.回显数据的时候除了给v-model绑定...

  • sqli-labs学习笔记

    less-1~4: 都有回显,且回显信息中包含了数据库中的信息。 Less-1: 有回显,输入单引号报错。 You...

  • Java Web之SpringMVC 进行数据回显

    基本介绍 数据回显:模型数据导向视图(模型数据 ---> Controller ---> 视图)说明:Spring...

  • 2018-03-07 数据保存

    笔记如下 保存数据到应用私有的目录中并回显 数据回显 将数据保存到公共sdk卡上 用sharedPreferenc...

  • SQL注入

    用户输入数据被当成了代码被执行原则有回显:union select、报错注入无回显:dnslog, time-ba...

  • cascader数据无法回显

    cascader数据绑定没有问题,但是选中选项后,在输入框内无法回显选中数据,当时没想到是数据本身的问题 解决el...

  • 布尔盲注(基于sqli-labs第八关)

    布尔盲注原理 代码存在sql注入漏洞,然而页面既不会回显数据,也不会回显错误信息我们可以通过构造语句,来判断数据库...

  • Vuex基础使用 & Vuex 监听数据/值2021-04-29

    需求:1:头部导航栏中'XXXX'标题栏,显示下拉菜单2:选中下拉菜单数据,将数据回显到页面指定位置3:点击回显处...

网友评论

      本文标题:数据回显

      本文链接:https://www.haomeiwen.com/subject/kvslmttx.html