总结:
☆1.参数绑定:(从请求中接收参数)
1)默认支持的类型:Request,Response,Session,Model
2)基本数据类型(包含String)
3)Pojo类型
4)Vo类型
5)Converter自定义转换器
6)数组
7)List
itemList.jsp
<form action="${pageContext.request.contextPath }/updateAll.action" method="post">
查询条件:
<table width="100%" border=1>
<tr>
<!-- 如果Controller中接收的是Vo,那么页面上input框的name属性值要等于vo的属性.属性.属性..... -->
<td>商品名称:<input type="text" name="items.name"/></td>
<td>商品价格:<input type="text" name="items.price"/></td>
<td><input type="submit" value="批量修改"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr>
<td></td>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<c:forEach items="${itemList }" var="item" varStatus="status">
<tr>
<!-- name属性名称要等于vo中的接收的属性名 -->
<!-- 如果批量删除,可以用List<pojo>来接收,页面上input框的name属性值= vo中接收的集合属性名称+[list的下标]+.+list泛型的属性名称 -->
<td>
<input type="checkbox" name="ids" value="${item.id }"/>
<input type="hidden" name="itemsList[${status.index }].id" value="${item.id }"/>
</td>
<td><input type="text" name="itemsList[${status.index }].name" value="${item.name }"/></td>
<td><input type="text" name="itemsList[${status.index }].price" value="${item.price }"/></td>
<td><input type="text" name="itemsList[${status.index }].createtime"
value="<fmt:formatDate value="${
item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/></td>
<td><input type="text" name="itemsList[${status.index }].detail" value="${item.detail }"/></td>
<td><a href="${pageContext.request.contextPath }/items/itemEdit/${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</form>
varStatus属性常用参数总结下:
${status.index} 输出行号,从0开始。
${status.count} 输出行号,从1开始。
${status.current} 当前这次迭代的(集合中的)项
${status.first} 判断当前项是否为集合中的第一项,返回值为true或false
${status.last} 判断当前项是否为集合中的最后一项,返回值为true或false
begin、end、step分别表示:起始序号,结束序号,跳跃步伐。
QueryVo.java
public class QueryVo {
//商品对象
private Items items;
//订单对象...
//用户对象....
//批量删除使用
private Integer[] ids;
//批量修改使用
private List<Items> itemsList;
ItemsController.java QueryVo.getIds();
@RequestMapping("/updateAll")
//public String updateAll(String[] ids) throws Exception{
public String updateAll(QueryVo vo) throws

本文详细介绍了Spring MVC中的参数绑定,支持的基本类型、Pojo、Vo、自定义转换器、数组和List等。还讲解了Controller方法返回值的处理,包括ModelAndView和String的使用,以及重定向和转发的区别。接着,讨论了全局异常处理,自定义异常类和异常处理器的实现,确保系统在运行时能优雅地处理异常。此外,涉及了文件上传的步骤和配置,并展示了如何处理JSON数据交互。最后,简述了Spring MVC对RESTful风格的支持和拦截器的使用,以及登录权限验证的实现流程。
最低0.47元/天 解锁文章
289

被折叠的 条评论
为什么被折叠?



