0

我需要使用 jsp jstl 在 jsp 中呈现所有 java bean 属性。我正在使用弹簧 mvc。下面是spring代码的一部分。

@RequestMapping(method=RequestMethod.POST)
public ModelAndView processForm(@ModelAttribute(value="FORM") UploadForm form,BindingResult result) throws Exception{
    String filePath = System.getProperty("java.io.tmpdir") + "/" + form.getFile().getOriginalFilename();
    ModelAndView model = new ModelAndView("view");
    List<Customer> customerList=null;//Customer is POJO file
    if(!result.hasErrors()){
        ProcessUploadedFile processUploadedFile = new ProcessUploadedFile(form, filePath);
        processUploadedFile.putUploadedFileToServer(form,filePath);
        customerList= ProcessUploadedFile.readWithCsvBeanReader(filePath);
    }
    model.addObject("customerList", customerList);//add list of customers in object. all customer data need to be render in jsp
    return model;
}

JSP JSTL 代码:

<c:forEach var="customer" items="${customerList}">

           <tr>
           <td><c:out value="${customer.hit_time_gmt}"/></td>
               <td><c:out value="${customer.service}"/></td>
               <td><c:out value="${customer.accept_language}"/></td>
               <td><c:out value="${customer.date_time}"/></td>
               <td><c:out value="${customer.visid_high}"/></td>
               <td><c:out value="${customer.visid_low}"/></td>
.
.
.
.
</tr>
</c:forEach>

实际上 POJO 中有大约 300 个属性,手动编写属性非常繁琐。

我想要一些循环方式来获取所有属性值是使用 jstl 的 jsp 或者可能是其他方式。请分享您的提示!

谢谢

4

2 回答 2

0

您应该编写自己的自定义标签并将其提供给社区用户。据我所知,没有可用的 JSTL 标记试图显示对象的所有属性。

于 2013-07-03T17:05:21.687 回答
0

您可以使用 java 反射为每个客户创建所有属性的数组,并将其放入一些新的 POJO 中。

public CustomerProp {
   private List<String> properties;
}

然后在 jsp 中显示它们,对每个客户使用一次迭代。

于 2013-07-03T23:28:15.190 回答