EchoDemo's Blogs

springmvc学习笔记(15)-数据回显

阅尽天涯离别苦,不道归来,零落花如许。花底相看无一语,绿窗春与天俱暮。

待把相思灯下诉,一缕新欢,旧恨千千缕。最是人间留不住,朱颜辞镜花辞树。

—-近代·王国维《蝶恋花·阅尽天涯离别苦》

本文介绍springmvc中数据回显的几种实现方法

数据回显:提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。


pojo数据回显方法

(1)springmvc默认对pojo数据进行回显。

pojo数据传入controller方法后,springmvc自动将pojo数据放到request域,key等于pojo类型(首字母小写)。使用@ModelAttribute(“items”)指定pojo回显到页面在request中的key。这里的items对应的是前端页面里面的input中的name=”items.name”中的items。

(2)@ModelAttribute还可以将方法的返回值传到页面。在商品查询列表页面,通过商品类型查询商品信息。在controller中定义商品类型查询方法,最终将商品类型传到页面。(请注意,这里并没有指定RequestMapping)

// 商品分类
// itemtypes表示最终将方法返回值放在request中的key
@ModelAttribute("itemtypes")
public Map<String, String> getItemTypes() {

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

    return itemTypes;
}

页面上可以得到itemTypes数据。

<td>
    商品名称:<input name="itemsCustom.name" />
    商品类型:
    <select name="itemtype">
        <c:forEach items="${itemtypes}" var="itemtype">
            <option value="${itemtype.key }">${itemtype.value }</option>
        </c:forEach>
    </select>
</td>

(3)使用最简单方法:使用model,可以不用@ModelAttribute,(对应的是小标题(1)哦!)

// 可以直接使用model将提交pojo回显到页面
// model.addAttribute("items", itemsCustom);

简单类型数据回显

使用最简单方法使用model:

model.addAttribute("id", id);
🐶 您的支持将鼓励我继续创作 🐶
-------------本文结束感谢您的阅读-------------