页面往后端传值的几种形式

最近一直在看这个SSM_demo

小结下几种传值情况

第一种:

<c:forEach items="${pageInfo.list}" var="user">
    <tr>
        <td>${user.id}</td>
        <td>${user.username }</td>
        <td>${user.age }</td>
        <!-- <td><a  class="edit">编辑</a> <a
             class="delete">删除</a></td> -->
        <td>
            <a type="button"  href="${path}/user/getUser?id=${user.id}" class="btn btn-info btn-sm">
                <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
                编辑</a>
            <a type="button"  href="${path}/user/delUser?id=${user.id}" class="btn btn-danger btn-sm">
                <span class="glyphicon glyphicon-trash" aria-hidden="true" ></span>
                删除</a>
        </td>
    </tr>
</c:forEach>

这里,href="${path}/user/getUser?id=${user.id} 默认的是发送get请求

后台的接值方法:首先/user/getUser 这个到对应的controller里的@RequestMapping("/Book") @RequestMapping("/getUser")

匹配到对应的方法,

@RequestMapping("/getUser")
public String getUser(int id,Model model){
    model.addAttribute("user", userService.findUserById(id));
    return "editUser";
}

 

然后这个地方的参数,直接与页面上href的传参一直,就可以取到了。

注意http请求只能发送字符串形式user/getUser?id=${user.id}&&${XXXX}。。。。。。

不可以传复杂的数据,不能传对象。

第二种:

Form表单形式

<form action="" name="userForm">
    <input type="hidden" name="book_id" value="${book.book_id}" />
    <h3>书名:<input type="text" name="book_name"  value="${book.book_name}"></h3>
    <h3> 价格:<input type="text" name="book_price"value="${book.book_price}"/></h3>
    <h1><input type="button" value="编辑"   class="btn btn-info btn-sm" onclick="editBook()"></h1>
</form>
<script type="text/javascript">
    function editBook() {
        var form = document.forms[0];
        form.action = "<%=basePath %>Book/editBook";
        form.method = "post";
        form.submit();
    }
</script>

我们看这里, form.action = "<%=basePath %>Book/editBook" 同样的到controller里找对应的方法

@RequestMapping("editBook")
    public String editBook(Model model,Book book){
        if(book !=null){
            bookservice.editBook(book);
         }
return "redirect:/Book/bookInfo";
    }

注意参数,直接  Book book 传过来时已经自动把  以下三个参数封装成 book对象了

 

<input type="hidden" name="book_id" value="${book.book_id}" />

<h3>书名:<input type="text" name="book_name" value="${book.book_name}"></h3>

<h3> 价格:<input type="text" name="book_price"value="${book.book_price}"/></h3>

 

在controller里Book book 直接拿到已经实体化的对象

 

就说这两种方法吧,以后再续。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值