appengine java + slim3 の開発では、scenic3にお世話になっています。
scenic3は t2 frameworkのようなPageクラスをslim3で実現するslim3の拡張ライブラリです。
ページ作るの便利なんで。
そのPageクラスを作るときにアノテーションとか忘れそうになるんでメモしておきます。
@Page リクエストパスの1個目?を指定する
@ActionPath = リクエストパスの2個目以降を指定する
手が覚えるまで迷うのがこれら。
@Var = リクエストパスの中に引数を指定した場合に書く
私にとってコレが簡単に出来る事がscenic3を使う理由のひとつ。
@RequestParam = リクエストパラメータ(GET引数)を引数にする場合に書く
勿論メソッド内で request.getParameter(“xxx”) とも書けるけど、明示的にメソッドの引数にも出来るってこと。
自然語でメモするとなんかややこしい・・・。
簡単なPageクラスはこんな感じになる。
@Page("/path") public class PathPage extends ScenicPage { @ActionPath("to/{id}") public Navigation list_json( @Var("id") String id , @RequestParam("limit") Integer limit , @RequestParam("offset") Integer offset ) { // POSTの場合はコッチ String hoge = (String) request.getAttribute("hoge"); .... return forward("/path/to/page.vm"); } }
AppUrl.java への追加も忘れずに。
public AppUrls() { excludes("/_ah/*"); excludes("/remote_api"); add(PathPageMatcher.get()); }