そのへんのちらしのうら

調べたこと、学んだこと、おもしろかったこと。

【メモ】CHAR型とVARCHAR2型の桁について

CHAR型
  • 固定長文字列(不足分の桁は空白文字が自動的に追加される)
  • 型の指定形式
     ・CHAR(n [BYTE]) nバイト固定長の文字列。
     ・CHAR(n CHAR) n文字固定長の文字列。
VARCHAR2型
  • 可変長文字列
  • 型の指定形式
     ・VARCHAR2(n [BYTE]) 最大サイズnバイトの可変長文字列。
     ・VARCHAR2(n CHAR) 最大サイズn文字列の可変長文字列。
NVARCHAR2型
  • 可変長文字列
  • 型の指定形式
     ・VARCHAR2(n) 最大サイズn文字列の可変長文字列。
VARCHAR2型とNVARCHAR2型の違い

格納できる文字コードが違う(NVARCHAR2はUnicodeのみ)⇒格納時に使用されるバイト数が変わってくる

データベースキャラクタセットごとの全角1文字のバイト数
  • AL32UTF8(UTF8) → 3
  • JA16EUC、JA16EUCTILDE(日本語EUC) → 2
  • JA16JIS、JA16JISTILDE(シフトJIS) → 2
型の指定形式
  • 初期化パラメータNLS_LENGTH_SEMANTICSで決まる。デフォルトはBYTE。

【メモ】ドロップダウンリスト? コンボボックス?

よく分からなくなるので……。

ドロップダウンリスト
  • 一覧から1つだけ選択する。
  • ユーザーは値を入力できない。
コンボボックス
  • 一覧から1つだけ選択する。
  • ユーザーは値を入力できる。(「ドロップダウンリスト」と「コンボボックス」が混同される場合もある)

ドロップダウンリスト - Wikipedia

【メモ】文字列⇔数値の変換

よく忘れるので……。

文字列→数値(int)

  • Intger.parseInt(String)  戻り値はint。若干valueOfより効率的。
  • Integer.valueOf(String)  戻り値はInteger。

数値(int)→文字列

  • String.valueOf(int)  内部的には下のInteger.toString()を呼ぶ。
  • Integer.toString(int)

JSP+ServletでシンプルなWebアプリをつくる(9)ークリアボタン

3.開発

3.9.クリアボタンの追加

クリアボタン(初期表示と同じ処理)を追加します。
変更するのはjspファイルのほか、Controllerクラス。
押下したボタンによりモードを振り分けるところにクリアボタンの場合を追加し、doGetメソッドを呼ぶようにしました。
■ZaikoChoseiController.java

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //★Content-Typeヘッダを出力するデータに合わせて指定する
        response.setContentType("text/html; charset=UTF-8");

        RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/zaikochosei.jsp");
        dispatcher.forward(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("UTF-8");//リクエストボディのエンコーディング指定で文字化け回避
        response.setContentType("text/html; charset=UTF-8");

        try {

            ZaikoChoseiModel model = new ZaikoChoseiModel();

            //モード判定
            if (null != request.getParameter("SRH")) {
                // ※中略
            } else if (null != request.getParameter("CLR")) {
                //クリア
                doGet(request, response);
            }

        } catch (Exception ex) {
            //TODO エラーページ
            response.getWriter().append("ERROR:"
                    + ex.getMessage()).append(request.getContextPath());
        }
    }

JSP+ServletでシンプルなWebアプリをつくる(8)ーCSS

3.開発

3.8.CSSを使ってデザインをかっこよく(?)する

CSSを利用して、画面のデザイン調整を行います。今回、最終的にこんな感じにしてみました。
eclipse上のブラウザだとtableの罫線がきれいに出なかったため、Chromeで確認しています。
f:id:bubox2:20190512183137p:plain

続きを読む

【メモ】JavaScriptにおけるnullとundefined

undefinedとは

  • undefinedはある変数の値が定義されていないことを表す値。(変数の型自体が定義されていない)
  • ある変数が宣言済みであるものの値を与えられていない。
  • 未定義のプロパティを参照しようとした。
  • 何もreturnしない関数の戻り値。
var x;
var obj = { a:12345 };
document.writeln(x);        // undefined
document.writeln(obj.b)     // undefined
  • undefinedはリテラルではなくGlobalオブジェクト(グローバル変数や関数を管理するためJavaScriptが自動的に生成する)のプロパティで定義されたプロパティにすぎない。
  • スクリプトから値を変更することもできるが、当然ながら影響範囲という点ですべきでない。

nullとは

  • nullはオブジェクトが存在しないことを意味する値。(定義はされているが、何も参照していない)
  • undefinedのようにプロパティではなく、リテラル。lもundefinedも基本形の特殊型に分類される。
続きを読む