后台传递list对象到jsp页面,页面将选中对象传递给后台,多个对象,多个相同对象

1.

在项目开发中,需要把后台返回的list展示并把选中的某个对象放到form表单中提交到后台

2.

首先为选择按钮添加click事件,将选中的对象作为参数放入
这里写图片描述

3.

发现参数传递的只是对象的地址值,这是因为使用EL表达式取出的就是字符串,如果没为对象重写tostring方法,就会默认返回地址值,所以

这里写图片描述

4.

然后再点击按钮发现失效了,在浏览器中检查页面元素,发现函数中确实有对象的json字符串,猜测可能时字符串太长click不支持,所以
这里写图片描述

5.
这里写图片描述

这时发现只传过来一个”{” ,页面检查发现bookinfo中有对象完整的json字符串,但是由于bookInfo使用” “导致只截取了{,

所以要改为’ ‘

  <a  bookinfo='${flight.leastClassInfo}' flightinfo='${flight}' class="book-flight-button"
                                           onclick="book(this)" href="javascript:;">预定</a>

  <form action="/jdtravel/flight/list" method="post" id="flightForm">

        <%--已选舱位--%>
        <input name="flightBookReq" value="" type="hidden">
        <%--航班信息--%>
        <input name="flightRespBean" value="" type="hidden">


    </form>

6.

后台接收

FlightListResp.FlightRespBean.ClassInfoListBean classInfoListBean = (FlightListResp.FlightRespBean.ClassInfoListBean) 
JSON.parseObject(flightListReq.getFlightBookReq(),FlightListResp.FlightRespBean.ClassInfoListBean.class);

7.

传递多个对象相同

8.

传递多个对象,需要存入session中

request.getSession().setAttribute("booklist",flightListReq.getFlightBookReqList());

List<FlightBookReq> booklist = (List<FlightBookReq>)request.getSession().getAttribute("booklist");

最后 将list数据提交后一定记得清空session 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值