gpt4 book ai didi

java - 如何在JSP中迭代一个对象来获取百分比?

转载 作者:行者123 更新时间:2023-12-01 13:17:13 24 4
gpt4 key购买 nike

我正在研究 servlet 和 jsp 项目。我将一个对象从 servlet 传递到 JSP。目前我正在迭代该对象并将它们显示在表格中 -

下面是我的jsp代码 -

<TABLE id="tableSMS" BORDER="1" CELLPADDING="3" CELLSPACING="1" style="text-align: center;">
<TR style="color:#ffffff;background-color:#787878;">
<TH>Hash Name</TH>
<TH>Database Name</TH>
<TH>Version</TH>
</TR>
<c:forEach var="i" begin="0" end="${reportCount.getHash().size() - 1}">
<TR>
<TD>
${reportCount.getHash().get(i)}
</TD>
<TD>
${reportCount.getDatabaseName().get(i)}
</TD>
<TD>
${reportCount.getVersion().get(i)}
</TD>
</TR>
</c:forEach>

上面的代码工作正常,我能够正确显示数据。现在我需要做的是 -

${reportCount.getDatabaseName().get(i)} 将仅以 oraclemysql 形式返回数据库名称。现在我需要计算 oracle 数据库的百分比是多少。我将从 ${reportCount.getHash().size() 获取记录总数。因此,如果记录总数为 10 并且 Oracle 数据库出现 5 次,则百分比应为 50%

现在我不确定如何使用该对象计算上述百分比?计算该百分比后,我需要在一个新表格中显示结果,如下所示 -

      <table>
<tr>
<th style="background-color: #E8E8E6;"><b>Oracle Database</b></th>
</tr>
<tr>
<!-- I would like to show the percentage in this row -->
<td>%</td>
</tr>
</table>

我想我应该在上面的新表中再次迭代 reportCount 对象并在此处提取百分比,但不确定如何做到这一点?谁能举个例子吗?

更新:-

这是我的 bean 代码 -

public class Response {
private List<String> hash = new LinkedList<String>();
private List<String> databaseName = new LinkedList<String>();
private List<String> version = new LinkedList<String>();

// getters and setters here

}

最佳答案

有以下三件事:

  1. 添加函数标签库: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
  2. 如果任何其他页面上不需要,请将 reportsCounts 变量添加到 requestScope 而不是 session ,并按以下方式使用: <c:set var="oracleDBCount" value="0" scope="page" />
    <c:forEach var="reportCount"
    items="${requestScope.reportCounts.databaseName}" varStatus="loop">
    <TR>
    <TD>${requestScope.reportCounts.hash[loop.index]}</TD>
    <TD>${reportCount}
    <c:if test="${reportCount == 'ORACLE'}">
    <c:set var="oracleDBCount" value="${oracleDBCount + 1}" scope="page"/>
    </c:if>
    </TD>
    <TD>${requestScope.reportCounts.version[loop.index]}</TD>
    </TR>
    </c:forEach>
  3. 现在将百分比显示为: ${(oracleDBCount / fn:length(requestScope.reportCounts))*100}%

关于java - 如何在JSP中迭代一个对象来获取百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22368770/

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