gpt4 book ai didi

java - 使用 EL 输出 JCoTable 行

转载 作者:行者123 更新时间:2023-12-02 02:51:34 24 4
gpt4 key购买 nike

我创建了一个 java web 应用程序,它将自定义表(每条记录包含 13 个字段)从 SAP 后端读取到 web 应用程序中的 JCoTable 中,这一切都工作正常。

我的要求是使用EL将JCoTable上的所有记录输出到JSP上。如何引用每个单独的字段以实现输出目的?即

<c:forEach items="${claimstable}" var="clms">
${clms.field1}
${clms.field2}
${clms.field3}
</c:forEach>

我尝试过使用ArrayList、TreeSet和HashMap在JSP上输出表内容,使用servlet将请求属性转发到JSP,但我无法直接访问每个字段,我只能将内容输出为一根长绳。

我是否需要创建一个表字段名类并继续这样做?或者什么?

非常感谢任何和所有帮助。

最佳答案

我采用的解决方案是使用 setter 和 getter 创建自定义表的对象,将每个字段创建为对象内的属性,即

public class ClaimTableProperties {


private String zuonr;
private String bktxt;
private String blart;
private String belnr;
...etc.

然后将 JCoTable 的每个字段的每一行映射到数组列表:

static ArrayList<ClaimTableProperties> claimstable = new ArrayList<ClaimTableProperties>();

JCoTable claims = function.getTableParameterList().getTable("CLAIM_DETAILS");

claims.firstRow();
int rownums = claims.getNumRows();
ClaimTableProperties[] ctp = new ClaimTableProperties[rownums];

for (int i = 0; i < rownums; i++) {
ctp[i] = new ClaimTableProperties();
ctp[i].setBelnr(claims.getString("BELNR"));
ctp[i].setBktxt(claims.getString("BKTXT"));
ctp[i].setZuonr(claims.getString("ZUONR"));
ctp[i].setBlart(claims.getString("BLART"));
claimstable.add(ctp[i]);
claims.nextRow();
} // End for

在您的 servlet 中,设置该属性,以便您的 jsp 知道它

ArrayList<ClaimTableProperties> claims = dgc.returnClaimsTable();
request.setAttribute("claimstable", claims);

然后在jsp上,使用JSTL输出各个必填字段:

<table>
<c:forEach items="${claimstable}" var="claim">
<tr>
<td>${claim.belnr}</td>
<td>${claim.bktxt}</td>
<td>${claim.zuonr}</td>
<td>${claim.blart}</td>
</tr>
</c:forEach>
</table>

关于java - 使用 EL <C :forEach> 输出 JCoTable 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43764398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com