控制器到jsp,反之亦然java

时间:2015-03-24 14:07:38

标签: java javascript jquery jsp spring-mvc

我从几天开始面临问题,无法找到解决方法。让我解释一下我的问题,基本上,我正在接收表对象(表中不存在表,但这个表对象是由多个表组成的查询形成的),从DB到jsp,它有几行并在UI中显示它们。代码在jsp中如下所示。

<c:forEach items="${someinvoice}" var="invoice" varStatus="status"> 
                    <tr>
                        <td><input id="cartcheckbox" class="case" type="checkbox" name="case" value="${invoice}"/></td> //here invoice represents a row in table which looks like someinvoice[Name=Mobie , location= US, actualTransferDate=null, scanserialCode=234335,1237787, modelNum=MIC 898989 ]
                        <td>${invoice.scanserialCode}</td>
                        <td>${invoice.modelNum}</td>
                        <td>${invoice.assetName}</td>
                        <td>${invoice.assettoLocation}</td>
                        <td>${invoice.actualTransferDate}</td>
                    </tr>
                </c:forEach>

我从控制器那里得到 someinvoice ,如下所示。

List<BeanClass> invoiceData = service.Dao();
model.addAttribute("someinvoice", invoiceData);

现在,如果我检查UI上显示的表格中的某些行并单击“提交”按钮,则会生成一个新页面,该页面应仅以表格格式显示所选行。为此,当单击提交按钮时,我将检查的行带入控制器,如下所示。

String[] checkeditems = request.getParameterValues("case");//here case represents all the checked rows in the page and checkeditems represents a list of row objects as String.

我真正的问题是,我无法将此String数组转换为我的bean类类型,因此我可以轻松地将这些已检查的行发送到另一个jsp,该jsp在单击提交按钮后显示。这让我有点恼火。

任何人都可以帮助我,我在这里打了一会儿。

感谢。

2 个答案:

答案 0 :(得分:0)

你不必做request.getParameterValues(&#34; case&#34;)。您可以使用<form:checkbox path="invoice.checkBoxListName" value="${choice}"/>.

将复选框映射到bean

上面将填充bean类中的列表,这样就不必在外部将数组分配给bean。

如果有帮助,请告诉我。

答案 1 :(得分:0)

<强> JS

var someinvoice= [];
$('input[name="case"]:checked').each(function() {
someinvoice.push(this.value);
});

在提交时发送 someinvoice

控制器

List<BeanClass> invoiceData =Arrays.asList(gson.fromJson(request.getParameter("someinvoice"), BeanClass[].class));

它将返回BeanClass对象列表。