将选定的行从一个jsp表传递到另一个jsp表

时间:2015-03-21 17:06:46

标签: java spring jsp

在我的jsp(index.jsp)中,我在每行的开头用checkbox显示表中的一些项目。如果用户检查一行并单击确认按钮,则会转到其他jsp( second.jsp),其中我需要显示在 index.jsp 中检查的所有行。

我的表看起来像这样,假设我在表格标签中附上了表格。

<form:form method="post" action="/somereq" modelattribute="transferInvoice">
            <table id="assets-tbl" border="1"
                class="table table-bordered table-hover table-striped"
    <tbody id="assets-tbl-body" >
                    <c:forEach items="${transferinvoice}" var="invoice" varStatus="status">
                        <tr>
                            <td><input id="cartcheckbox" class="case" type="checkbox" name="case" value="${invoice}"/></td>
                            <td>${invoice.some}</td>
                            <td>${invoice.num}</td>
                            <td>${invoice.name}</td>
                            <td>${invoice.loca}</td>
                            <td>${invoice.time}</td>
                        </tr>
                    </c:forEach>
                </tbody>

任何人都可以帮助我吗?

我试过这个,但有些人如何能够将所选行提取到控制器中,但是如何将这些值作为java bean类型传递给另一个jsp,除非无法解析second.jsp中的结果

@RequestMapping(value = "somereq", method = RequestMethod.POST)
protected ModelAndView transferInvoiceConfirm(final HttpServletRequest request, final HttpServletResponse response)throws Exception {
            Model model = new ExtendedModelMap();


    String[] checkeditems =request.getParameterValues("caseob");
    List<String> list = Arrays.asList(checkeditems);
    List<beantype> invoicelist = new ArrayList<beantype>(list);
    model.addAttribute("invoiceList", list);
    return new ModelAndView("asset/secondform", model.asMap());

}

在第二个jsp中,我将表格中的选中项目显示为

<c:forEach items="${invoiceList}" var="invoice" varStatus="status">
                    <tr>
                        <td>${invoice.name}</td>
                        <td>${invoice.code}</td>
                        <td>${invoice.model}</td>
                        <td>${invoice.loc}</td>
                        <td>${invoice.date}</td>
                    </tr>
                </c:forEach>

不知怎的,我觉得,我做错了事。任何人都可以帮忙解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

更改此行

Object

到这一行

String[] checkeditems =request.getParameterValues("caseob");

因为您定义的输入名称是“case”。

String[] checkeditems =request.getParameterValues("case");

我希望这可以帮到你!

答案 1 :(得分:-1)

写一个javascript,它将在onclick按钮的Confirm事件上触发。在javascript发出second.jsp请求。