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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

JSP

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

Java

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

2662閲覧

掲示板を作成中です。投稿したら時間順に上からなるようにしたいのですが、どうしても上に古いのが来てしまいます・・

mQQQchi

総合スコア8

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

JSP

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

Java

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/06/21 16:07

初めまして。プログラミング初心者です。
jspにcsvを組み込んで現在掲示板を作っております。
投稿したら時間順に上からなるようにしたいのですが、どうしても上に古いのが来てしまいます・・・

解決の手をいただけたらと思い今回投稿させていただきました。。。

現在のソースコード
<%@ page language="java" contentType="text/html; charset=Windows-31J"
pageEncoding="Windows-31J"
import="java.util., java.io.,java.text.*"
%>
<%
request.setCharacterEncoding("Windows-31J");
String temp1 = request.getParameter("userName");
String temp2 = request.getParameter("userMsg");
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <p><font size="5">簡易掲示板</font></p> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>簡易掲示板</title> <body>

<%
if ("".equals(temp1)) {
%>
<font size="2" color="red">ハンドルネームは必ず入力して下さい。</font>
<%
} else if ("".equals(temp2)){
%>
<font size="2" color="red">メッセージは必ず入力して下さい</font>
<%
}
%>
<%
// 書き込むファイルの名前
String outputFileName = "C:\Users\000359\Desktop\pleiades\workspace\bbs\date.1csv";

// ファイルオブジェクトの生成
java.io.File outputFile = new java.io.File(outputFileName);

// 出力ストリームの生成
FileOutputStream fos = new FileOutputStream(outputFile,true);
OutputStreamWriter osw = new java.io.OutputStreamWriter(fos ,"Shift_JIS");
PrintWriter pw = new java.io.PrintWriter(osw);

// ファイルへの書き込み String name,mailaddress; name = request.getParameter("userName"); mailaddress = request.getParameter("userMsg"); Date date = new Date(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); pw.println( name +","+mailaddress + "," + sdf1.format(date) );

// 後始末
pw.close();
%>

<form method ="POST" action="bbs1.jsp"> <br> ハンドルネーム<INPUT type="TEXT" name="userName" size="40"><br>

<br>メッセージ

<textarea name="userMsg" rows="4" cols="40"></textarea><br> <br> <INPUT type="SUBMIT" value="投稿"><br><br>
java.io.BufferedReader br = new java.io.BufferedReader

(new java.io.InputStreamReader(
new java.io.FileInputStream("C:\Users\000359\Desktop\pleiades\workspace\bbs\date.1csv"),"Shift_JIS"));

String s ;
while ((s = br.readLine()) != null)
{
string[] strAry = s.split(",");
strAry[1] = strAry[1].replace("\r\n","<br>");

<table width = "50%" heigth="80" border="1" rules="none" bgcolor="#FAEB07"> <TR> <TH align="left"><%=strAry[0] %></TH> <TH align="rigth"><%=strAry[2] %></TH> </TR> <TD colspan="2" valign="TOP">< </TD> </TR> </table>
br.close(); </body>
</html>

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

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

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

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

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

kei344

2016/06/23 01:47

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「</>」ボタンを押すとコードブロックになります。
guest

回答2

0

過去順に表示される原因としては、
1.CSVに時系列に記録されていて、
2.それをそのまま上から順に読み込むと同時に表示をしているから
です。

であれば、アプローチとしては
記録するときに逆順になるように記録する
もしくは
表示するときにどうにかして逆順に表示できるようにする。
例えば直接表示するのではなく、一旦中身を適当な配列なりオブジェクトに格納してから逆順に表示する。
等があります。

そもそも論としては、
CSVでの記録は用途を限定して記録するにはシンプルでいいのですが、
色々な用途に使おうとすると辛くなってくるので、
適当なデータベースシステムを使うという設計をする方が向いていたりします。

投稿2016/06/21 20:15

tanat

総合スコア18709

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

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

0

テーブルのソート、検索を可能にする javascript ライブラリーがいくつも存在します。
こういったものを利用することを検討してみては如何でしょう?

w2ui GridとHandsontable http://qiita.com/hnakamur/items/052c439674fa92848ada
リストやテーブルコンテンツの検索、ソート、フィルター機能を簡単に実装出来る http://webya.opdsgn.com/tools/list-js/

投稿2016/06/21 21:33

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問