我在jsp jstl标签中的新手。我有一个问题,最近我建立了可以按收入代码计算出口总额的网络应用程序。我使用jstl标签在jsp中进行查询。问题是我的页面加载时间过长。我有大约60个出口,26个收入代码。 1个出口可以有至少4个收入代码。
这是我的代码
在dashboard.jsp中
<sql:query var="outletView" dataSource="${datasource}">
SELECT
outletid
FROM
user_payment
group by
outletid
</sql:query>
<table class="table table-bordered table-striped table-hover">
<thead>
<th> Outlet ID </th>
<th> Revenue Code </th>
<th> Total Transaction </th>
<th> Total Amount </th>
</thead>
<c:forEach items="${outletView.rows}" var="rowOutlet">
<sql:query var="outletView" dataSource="${datasource}">
SELECT
revcode,
count(receiptnumbe) as Transactions,
sum(amount) as total
FROM
user_payment
Where
outletid='${rowOutlet.outletid}'
Group by
revcode
</sql:query>
<c:forEach items="${outletView.rows}" var="displayrevcode">
<tr>
<td>${rowOutlet.outletid}</td>
<td>${displayrevcode.revcode}</td>
<td>${displayrevcode.Transactions}</td>
<td>${displayrevcode.total}</td>
</tr>
</c:forEach>
</c:forEach>
可以让它更快吗?我必须获取并计算每个商店的收入代码金额......
答案 0 :(得分:0)
多个问题:
答案 1 :(得分:0)
创建单个select语句而不是n + 1(其中n是不同outletid的数量):
SELECT
outletid,
revcode,
count(receiptnumbe) as Transactions,
sum(amount) as total
FROM
user_payment
GROUP BY
outletid, revcode
ORDER BY 1