質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

6969閲覧

Java/JSTL c:forEachの内側で足し算しても合計が表示されません。

marshmallowy

総合スコア204

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2017/07/07 09:38

###前提・実現したいこと
c:forEach の内側で7日おきにデータを加算して、集計した結果を出力させたいです。

###発生している問題
${total} 加算されていません。

###該当のソースコード

Java

1<%@page contentType="text/html" pageEncoding="UTF-8"%> 2<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 3<!DOCTYPE html> 4<html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 </head> 8 <body> 9 <table border="1"> 10 <c:set var="total" value="${0}"/> 11 <c:forEach var="line" items="${orderingTypeSalesSheet}" varStatus="row"> 12 <tr> 13 <td>${line.paymentConfirm}</td> 14 <td>${line.storeTotalAmount}</td> 15 <td>${line.taxFreeStoreTotalAmount}</td> 16 <td>${line.domesticMailOrderTotalAmount}</td> 17 <td>${line.overseasMailOrderTotalAmount}</td> 18 <td>${line.subTotalAmount}</td> 19 <td>${line.consumptionTax}</td> 20 <td>${line.Amount}</td> 21 <td>${line.totalsubTotalAmount}</td> 22 <td>${line.totalConsumptionTax}</td> 23 <td>${line.totalAmount}</td> 24 </tr> 25 <tr> 26 <c:if test="${row.count % 7 == 0}"> 27 <c:set var="total" value="${total + line.storeTotalAmount}"/> 28 <td>${total}</td> 29 </c:if> 30 </tr> 31 </c:forEach> 32 </table> 33 </body> 34</html>

###補足情報(言語/FW/ツール等のバージョンなど)
Java : 1.8.0_131
JSTL : 1.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

下記、URLを参考に java.util.stream を利用することで、問題を解決できました。
URL : Operations on Collection Objects
URL : Stream API

Java

1<fmt:formatNumber value="${orderingTypeSalesSheet.stream().map(line -> line.storeTotalAmount).sum()}" pattern="###,###" />

バージョンの問題があるのかもしれません。

投稿2017/07/07 11:07

編集2017/07/07 11:31
marshmallowy

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問