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

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

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

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

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

2回答

1846閲覧

売上IDをミリ秒を用いて表示させたい。

naotaro0704

総合スコア19

JSP

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

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2019/09/05 07:10

編集2019/09/09 07:58

1970年1月1日0時0分からのUNIX時間で取得するプログラムを作成したいです。
java.time.Duration クラスを使うと便利というのを調べていたら見つけたので、それを用いながらコードを作成しましたが表示されませんでした。どのようにすれば表示されるのでしょう。。。
よろしくお願いします。

該当のソースコード

SalesSystemController.java

java

1@Controller 2@RequestMapping(value = "/system") 3public class SalesSystemController { 4 5 6 private static final Logger logger = LoggerFactory.getLogger(SalesSystemController.class); 7 8 /** Stringの定数として次の6つを定義する*/ 9 private static final String INIT = "init"; 10 private static final String ADD = "add"; 11 private static final String FIX = "fix"; 12 13 private static final String ERRMSG = "1以上の数字を入力してください。"; 14 private static final String ADDMSG = "明細に追加しました。"; 15 private static final String FIXMSG = "以下のように売上登録しました。"; 16 private static final String DELETE = "選択された明細行を削除しました。"; 17// private static final String REMOVE = "明細行を選択してください。"; 18 19 20/** 初期画面を呼び出す処理*/ 21 @RequestMapping(value = "/start") 22 public String init(SalesForm form, Model model) { 23 /** RecordManagerにItemListを格納する*/ 24 model.addAttribute("ItemList", RecordManager.getItemList()); 25 /** RecordManagerにNameListを作成する*/ 26 model.addAttribute("nameList", RecordManager.makeNameList()); 27 return INIT; 28 } 29 30/** 初期画面での明細追加押下時の処理*/ 31 @RequestMapping(params = "add", method = RequestMethod.POST) 32 public String add(@Valid @ModelAttribute("salesForm") SalesForm form, BindingResult result, Model model) { 33 34 logger.info("Post : " + form.getQuantity()); 35 36 /** 1の数字以外または未入力のときエラーとして処理*/ 37 if (result.hasErrors()) { 38 /** RecordManagerにNameListを作成する*/ 39 model.addAttribute("nameList", RecordManager.makeNameList()); 40 /** エラーメッセージの表示*/ 41 model.addAttribute("message1", ERRMSG); 42 /** 初期画面へ*/ 43 return INIT; 44 } 45 /** 1以上のとき正常処理*/ 46 else { 47 /** RecordManagerのselectItemにidとquantityを格納*/ 48 model.addAttribute("allList", RecordManager.selectItem(form.getId(),form.getQuantity())); 49 /** RecordManagerにNameListを作成する*/ 50 model.addAttribute("nameList", RecordManager.makeNameList()); 51 /** QuantityにaddDataを格納*/ 52 model.addAttribute("addData", form.getQuantity()); 53 /**明細追加完了のメッセージを表示*/ 54 model.addAttribute("message2", ADDMSG); 55 /** 売上に合計金額を表示*/ 56 model.addAttribute("total", RecordManager.getTotal()); 57 /** 明細追加画面へ*/ 58 return ADD; 59 } 60 } 61 62/** 明細追加画面での明細追加押下時の処理*/ 63 @RequestMapping(params = "addition", method = RequestMethod.POST) 64 public String additon(@Valid @ModelAttribute("salesForm") SalesForm form, BindingResult result, Model model) { 65 if (result.hasErrors()) { 66 /** RecordManagerのselectItemにidとquantityを格納*/ 67 model.addAttribute("allList", RecordManager.selectItem(form.getId(),form.getQuantity())); 68 /** RecordManagerにNameListを作成する*/ 69 model.addAttribute("nameList", RecordManager.makeNameList()); 70 /** QuantityにaddDataを格納*/ 71 model.addAttribute("addData", form.getQuantity()); 72 /** エラーメッセージの表示*/ 73 model.addAttribute("message1", ERRMSG); 74 }else { 75 /** RecordManagerのselectItemにidとquantityを格納*/ 76 model.addAttribute("allList", RecordManager.selectItem(form.getId(),form.getQuantity())); 77 /** RecordManagerにNameListを作成する*/ 78 model.addAttribute("nameList", RecordManager.makeNameList()); 79 /** QuantityにaddDataを格納*/ 80 model.addAttribute("addData", form.getQuantity()); 81 /** 売上に合計金額を表示*/ 82 model.addAttribute("total",RecordManager.getTotal()); 83 /**明細追加完了のメッセージを表示*/ 84 model.addAttribute("message2", ADDMSG); 85 } 86 return ADD; 87 } 88 89/** 明細追加画面での削除押下時の処理*/ 90 @RequestMapping(params = "remove") 91 public String remove(SalesForm form, Model model) { 92 /** RecordManagerのselectItemにidとquantityを格納*/ 93 model.addAttribute("allList", RecordManager.selectItem(form.getId(),form.getQuantity())); 94 /** RecordManagerにNameListを作成する*/ 95 model.addAttribute("nameList", RecordManager.makeNameList()); 96 /** QuantityにaddDataを格納*/ 97 model.addAttribute("addData", form.getQuantity()); 98 /** 削除完了メッセージの表示*/ 99 model.addAttribute("message4", DELETE); 100 101 102 model.addAttribute("message5", REMOVE); 103 /** 明細追加画面へ*/ 104 return ADD; 105 } 106 107 /** 明細追加画面での確定押下時の処理*/ 108 @RequestMapping(params = "firm") 109 public String firm( SalesForm form, Model model) { 110 /** RecordManagerのselectItemにnameを格納*/ 111 model.addAttribute("allList", RecordManager.selectItem(form.getId(),form.getQuantity())); 112 /** 売上登録完了のメッセージを表示*/ 113 model.addAttribute("message3", FIXMSG); 114 /** 売上に合計金額を表示*/ 115 model.addAttribute("total",RecordManager. getTotal()); 116 /** 売上登録画面へ*/ 117 return FIX; 118 } 119 120 /** 売上登録画面での終了押下時の処理*/ 121 @RequestMapping(params = "end") 122 public String end( SalesForm form, Model model) { 123 /** RecordManagerにItemListを格納す**/ 124 model.addAttribute("ItemList", RecordManager.getItemList()); 125 /** RecordManagerにNameListを作成する*/ 126 model.addAttribute("nameList", RecordManager.makeNameList()); 127 /**初期画面へ*/ 128 return INIT; 129 } 130 131} 132

RecordManager.java

java

1 2public final class RecordManager { 3 4 /** 商品データ */ 5 private static List<Item> list = new ArrayList<>(); 6 private static List<Item> selectList = new ArrayList<>(); 7 private static Item item; 8 /** totalを定義 */ 9 private static int total = 0; 10 11 12 static { 13 list.add(new Item("A00101", "油性ボールペン", 60, 0, 0)); 14 list.add(new Item("A00201", "極細ボールペン", 120, 0, 0)); 15 list.add(new Item("A00301", "蛍光ペン6色セット", 420, 0, 0)); 16 list.add(new Item("A00401", "シャープペンシル", 100, 0, 0)); 17 list.add(new Item("A00501", "鉛筆H(1ダース)", 400, 0, 0)); 18 19 } 20 21 /** 商品名 */ 22 public static List<Item> selectItem(String id, int quantity) { 23 24 for (int i = 0; i < list.size(); i++) { 25 26 if (id.equals(list.get(i).getId())) { 27 /** Itemを再定義 */ 28 Item item = new Item(id, list.get(i).getName(), list.get(i).getPrice(), quantity, 29 quantity * list.get(i).getPrice()); 30 31 selectList.add(item); 32 33 /** xを定義 */ 34 int x = quantity * list.get(i).getPrice(); 35 total = total + x; 36 37 break; 38 } 39 40 } 41 42 return selectList; 43 44 } 45 46 /** nameListの作成 */ 47 public static String[] makeNameList() { 48 String[] nameList = new String[list.size()]; 49 for (int i = 0; i < list.size(); i++) { 50 nameList[i] = (list.get(i)).getName(); 51 } 52 return nameList; 53 } 54 55 /** itemList取得 */ 56 public static List<Item> getItemList() { 57 return list; 58 } 59 60 /** itemLista設定 */ 61 public static void setItemList() { 62 /** 設定した[item」をlist内で検索する。 */ 63 list.set(list.indexOf(item), item); 64 } 65 66 67 /** 68 * @return total 69 */ 70 public static int getTotal() { 71 return total; 72 } 73 74 /** 75 * @param total 76 * セットする total 77 */ 78 public static void setTotal(int total) { 79 RecordManager.total = total; 80 } 81}

fix.jsp

jsp

1 2<body> 3 <form:form modelAttribute="salesForm" action="/sales/system"> 4 <div class="header"> 5 <span class="titleName">直太郎オンラインショップ</span> 6 <div class="date"><%=LocalDate.now()%></div> 7 </div> 8 <div class="main"> 9 <br> 10 <div class="message3"> 11 <font color="#1e90ff"> <c:out value="${message}" /> 12 </font> 13 </div> 14 <br> 15 <div> 16 <span class="salesId">売上ID:</span> 17 </div> 18 <div> 19 <span class="details">売上明細</span> 20 <table class="product"> 21 <tr> 22 <th>商品ID</th> 23 <th>商品名</th> 24 <th>単価</th> 25 <th>点数</th> 26 <th>小計</th> 27 </tr> 28 <c:forEach items="${allList}" var="allList" varStatus="status"> 29 <tr> 30 <th class="id">${allList.id}</th> 31 <th class="nama">${allList.name}</th> 32 <th class="price">${allList.price}</th> 33 <th class="quantity">${allList.quantity}</th> 34 <th class="subtotal">${allList.subtotal}</th> 35 </tr> 36 </c:forEach> 37 </table> 38 39 </div> 40 <div class="total"> 41 合計: 42 <c:out value="${total}" /> 4344 </div> 45 </div> 46 <div class="footer"> 47 <input type="submit" name="end" value="終了" /> 48 </div> 49 </form:form> 50</body> 51</html>

試したこと

/** 売上idの作成 */ public static void main(String[] args) { long value = System.currentTimeMillis(); System.out.println(value); }

をRecordManager.java で定義してみましたがSalesSystemController.javaで呼び出しても表示されませんでした。

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

gentaro

2019/09/05 07:23

「売上Idを1970年1月1日0時0分からのミリ秒で表示する」という表現が全く理解できません。 長いコードを読んで意図を汲み取るのも困難なので、出したい結果の具体的な例と、現時点のコードを利用した場合の出力および問題点を正確に提示してください。
退会済みユーザー

退会済みユーザー

2019/09/06 01:32

> SalesSystemController.javaで呼び出しても表示されません どうやって呼び出しましたか? mainメソッドだから、ほかのクラスから呼び出さなくても、動かせるとおもうのですが。
guest

回答2

0

ベストアンサー

public class TEST { public static void main(String[] args) { long value = System.currentTimeMillis(); System.out.println(value); } }

というプログラムを、TEST.javaというファイルに書き込んでおく。

コマンドプロンプトで以下のコマンドを実行して、コンパイルする。

javac TEST.java

続いて、以下のコマンドでコンパイルしたプログラムを実行する。

java TEST

そうすれば、コンソールに何らかの数字が表示されるはずです。
それが、1970年1月1日0時0分からの時間をミリ秒単位で表したものです。

(時間は、使っている計算機が持っているものに基づいていますから、正確な値が欲しければ、事前に時計合わせをしてください)

投稿2019/09/05 07:55

coco_bauer

総合スコア6915

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

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

naotaro0704

2019/09/06 01:06

回答ありがとうございます。ファイルを作らずにもともとのファイルに書き込むことはできないのでしょうか。
退会済みユーザー

退会済みユーザー

2019/09/06 01:31

coco_bauerさんが提示されたコード(TESTクラス)は動かしてみましたか? naotaro0704さんが期待する結果は得られたでしょうか? 初心者も熟練者も関係なく、「よくわからない機能や処理」を使う時は、まずミニマムなプログラムを作って期待した動作をするかを試します。 期待する結果が得られたら、処理で使いたいところに転記(コーディング)します。
naotaro0704

2019/09/06 02:45

提示していただいたコードを動かして、転記したところ表示されました。ありがとうございます。
guest

0

1970年1月1日0時0分からのミリ秒

「ミリ秒」がちょっと引っかかるんですが
キーワードは「UNIXTIME」または「EpochTime」

投稿2019/09/05 07:36

m.ts10806

総合スコア80850

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

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

naotaro0704

2019/09/05 08:08

ご指摘ありがとうございます。変更しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問