当前位置: 首页 > 知识库问答 >
问题:

如何使用jstl填充jsp中的所有java bean属性

连坚白
2023-03-14

我需要使用jsp jstl在jsp中呈现所有java bean属性。我正在使用spring 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,或者可能是其他方式。请分享你的小贴士!

谢谢

共有2个答案

唐法
2023-03-14

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

涂溪叠
2023-03-14

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

public CustomerProp {
   private List<String> properties;
}

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

 类似资料:
  • 问题内容: 我正在研究一个简单的示例,该示例用于将字符串转换回,但是我看到在Java对象上设置的属性很少,而不是所有属性。 这是我的代码: Sample.java程序如下所示: 在我的文件中输入json字符串是: 该程序的输出为: 根据我的程序,and 不应为null。我不清楚我在哪里犯错。 更新: 如果删除注释,则会出现如下异常: 这是我的pom.xml文件依赖项: 问题答案: 您在评论中说,您

  • 有没有方法(或快捷方式)填充查询的所有字段? 我们以https://graphql.org/swapi-graphql/为例。 但是如果我想填充所有字段(名称、高度等),该怎么办不需要手动输入?

  • 主要内容:JavaBean示例,JavaBean属性JavaBean 是可以重复使用的一个组件,是遵守 JavaBean API 规范的 Java 类。 一般情况下,JavaBean 要满足以下要求: JavaBean 是一个公共类,并提供无参公有的构造方法 需要被序列化并且实现了 Serializable 接口 属性私有化 具有公共的访问属性的 getter 和 setter 方法 Java 之父 James Gosling 在设计 Java 语

  • JavaBean是特殊的Java类,使用J ava语言书写,并且遵守JavaBean API规范。 接下来给出的是JavaBean与其它Java类相比而言独一无二的特征: 提供一个默认的无参构造函数。 需要被序列化并且实现了Serializable接口。 可能有一系列可读写属性。 可能有一系列的"getter"或"setter"方法。 JavaBean属性 一个JavaBean对象的属性应该是可访

  • 我对荡秋千很陌生。我有一个基于外部输入动态生成UI的应用程序。在面板的顶部,有一个带有一些标题文本的JLabel,然后是一个按钮(告诉应用程序重新加载动态生成的内容),然后在下面是一个JScrollPane,其中包含所有动态生成的内容。我希望标签和按钮只占用所需的垂直空间,然后滚动窗格来填充所有剩余的可用空间。 我正在使用GridBagLayout,并在添加滚动窗格之前设置gbc.fill=BOT