Struts2
でActionではなく、ModelでValidatorを定義する方法。
まずはAction。
com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator
アノテーションを利用する。
1 2 3 4 5 6 |
|
続いて、Model。
1 2 3 4 5 6 7 8 9 10 |
|
message.properties。
1
|
|
最後にView。name
属性をオブジェクト.プロパティ
の形式で定義する。
1
|
|
Struts2
でActionではなく、ModelでValidatorを定義する方法。
まずはAction。
com.opensymphony.xwork2.validator.annotations.VisitorFieldValidator
アノテーションを利用する。
1 2 3 4 5 6 |
|
続いて、Model。
1 2 3 4 5 6 7 8 9 10 |
|
message.properties。
1
|
|
最後にView。name
属性をオブジェクト.プロパティ
の形式で定義する。
1
|
|
Velocity
テンプレートエンジンで、Struts2
のActionメソッドを指定する方法。
name
属性をmethod:メソッド名
の形式で定義する。
1
|
|
Yii
フレームワークを利用して、部分テンプレートを実装する方法。foo
をbar
に書き換えてみる。
まずはベースとなるbase.tpl
。
1 2 3 |
|
続いて、テンプレートとなるpart.tpl
1 2 |
|
テンプレートをレンダリングするajax_content.php
。
1
|
|
base.tpl
で読み込んでいるajax.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
最後にAjaxController.php
。CController#renderPartial()
を利用する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
hogeアプリとfugaアプリを配置したい場合。
/etc/httpd/conf.d/
直下に配置した任意の.conf
ファイルを以下の様に記載。
1 2 3 4 5 6 7 8 |
|
Yii
フレームワークのWidget
を普通に使う場合はこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Smarty
テンプレートエンジンを使った場合はこんな感じ。
array
の書き方と、widget
の第3引数のtrue
がポイント。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
GitHubからcloneしたOctopressのディレクトリ直下で、以下コマンドを実行。
1
|
|
octopress/source/_post/
直下にyyyy-mm-dd-title.markdown
が作成される。
1 2 3 4 5 |
|
markdown
で記事を生成し、以下のコマンドを実行。
実行後、http://localhost:4000/
にアクセスして、内容を確認する。
1
|
|
内容がOKなら、以下のコマンドを実行。
実行後、http://username.github.io
にアクセス。
1
|
|
Cocoaの[UIControl addTarget:action:forControlEvents:]
ではaction
に設定するセレクタに引数を渡すことができないので、
category
とblocks
を利用して、自由に定義したコールバックを渡せるようにする。
ファイル名はUIControl+Blocks
とする。まずはヘッダファイルを定義。
1 2 3 4 |
|
次に実装ファイルを定義。category
内ではインスタンス変数を保持できないので、関連参照を用いてblocks
をストアする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
後は、任意のクラスでヘッダファイルをインポートすれば、[UIControl addTargetWithBlocks:forControlEvents:]
が利用できる。
1 2 3 |
|
list
の要素がjava.lang.Comparable
を実装している場合。
1
|
|
list
の要素が以下の様なメンバを持つオブジェクトである場合。
面倒なので、getter、setterは省略。
1 2 3 4 |
|
bar
の昇順でソート。java.util.Comparator
実装クラスが必要になる。
まずは、実装クラスを作って・・・
1 2 3 4 5 |
|
比較処理を実行。
1
|
|
ちなみに、Objective-Cではこんな感じ。
要素がNSString
であるNSArray
のソート方法。
1
|
|
要素が以下の様なプロパティを持つオブジェクトであるNSArray
のソート方法。
1 2 |
|
fuga
の昇順でソート。
1 2 |
|
ちなみに、Javaではこんな感じ。
Objective-Cの方が楽だなー。
Javaにおける数値判定。
引数が、正規表現"^[0-9]+$"
にマッチしているかを判定した結果を返す。
1 2 3 4 |
|
ちなみにObjective-Cではこんな感じ。