【メモ】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文字のバイト数
型の指定形式
- 初期化パラメータNLS_LENGTH_SEMANTICSで決まる。デフォルトはBYTE。
【メモ】ドロップダウンリスト? コンボボックス?
よく分からなくなるので……。
ドロップダウンリスト
- 一覧から1つだけ選択する。
- ユーザーは値を入力できない。
コンボボックス
- 一覧から1つだけ選択する。
- ユーザーは値を入力できる。(「ドロップダウンリスト」と「コンボボックス」が混同される場合もある)
【メモ】文字列⇔数値の変換
よく忘れるので……。
文字列→数値(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()); } }
【メモ】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も基本形の特殊型に分類される。