0

jsp jstl を使用して、jsp 内のすべての Java Bean プロパティをレンダリングする必要があります。私は春のmvcを使用しています。以下はスプリングコードの一部です。

@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;
}

そして、顧客ごとにもう 1 回繰り返して jsp に表示します。

于 2013-07-03T23:28:15.190 に答える