Day24 SpringMVC修改功能 数据回显***

SpringMVC的参数绑定-修改页面-数据回显

(1)什么是数据回显?
为了修改数据方便
可以将被修改的数据,放到ModelAndView中,传给页面,页面使用el表达式,逐个设置给表单。

  • 根据当前选择行的id来修改数据
    <c:forEach items="${list}" var="item" >
        <tr>
            <td>${item.id}</td>
            <td>${item.username}</td>
            <td>${item.password}</td>
            <td>${item.city}</td>
            <td>${item.birthday.year}/${item.birthday.month}/${item.birthday.day}</td>
            <%--调用日期格式化标签--%>
            <td><fmt:formatDate value="${item.birthday2}" pattern="yyyy年MM月dd日"/></td>
            <td><a href="${pageContext.request.contextPath}/update.action?id=${item.id}">修改</a> </td>
        </tr>
    </c:forEach>
  • 将id传到PersonController的方法
    @RequestMapping("update.action")
    public ModelAndView updatePerson(int id){
    
    
        //1:模拟一下查询数据库
       Person person= Db.findById(id);
        //2:转发到页面
        ModelAndView mv = new ModelAndView();//对数据与页面的封装
        mv.addObject("person",person);
        //WEB-INF/jsp/  前缀
        //.jsp  后缀
        mv.setViewName("updatePersonUI");// /WEB-INFO/jsp/updatePersonUI.jsp
        //3:在页面上进行forEach循环
        return mv;
    }
  • 根据id查询到数据后,传到updatePersonUI.jsp进行显示
 <form method="post" action="${pageContext.request.contextPath}/update2.action">
           用户名: <input type="text" name="username"  value="${person.username}"/><br/>
           用户密码: <input type="text" name="password"  value="${person.password}"/><br/>
           城市: <input type="text" name="city"  value="${person.city}"/><br/><input type="text" name="birthday.year"  value="${person.birthday.year}"/><br/><input type="text" name="birthday.month"  value="${person.birthday.month}"/><br/><input type="text" name="birthday.day"  value="${person.birthday.day}"/><br/>
            出生日期<input type="text" name="birthday2" value="${person.birthday2}" /><br/>
            <input type="submit" value="更新"/><br/>
</form>
  • 然后就可以在原数据的基础上修改,并提交到update2.action进行更新操作。

猜你喜欢

转载自blog.csdn.net/qq_43639081/article/details/109154190