Slim3

Memcache のサンプル利用例

利用する箇所は、Controller でも Service でもよい。 下記は Controller での利用した場合のサンプル。 import org.slim3.memcache.Memcache; public class MyAppController extends Controller { private MyAppService service = new MyAppService(); priv…

Slim3 の Timezone の取り扱いについて

Slim3 のタイムゾーンの挙動が複雑なことに気が付いた。 FrontController では、タイムゾーンは UTC に設定されている。 TestCase から FrontController で設定されているタイムゾーンはローカル時間。この場合、自分は日本時間に設定しているので、JST で設…

Slim3 で JSON を利用する

参考 Slim3 JSON 機能の説明(非公式) GAE + Slim3 で JSON 出力 Model での記述例。 基本的には JSON を利用するのに既存の Model をそのまま使える。 しかし、JSON アノテーションで Model が保持するエンティティ内のプロパティを操作したい場合は、下記の…

任意の日のタイムスタンプの範囲を取得する

結局使わなかったけれど。 日付のパースには Apache のライブラリを利用。 import java.util.Date; import org.apache.commons.lang.time.DateUtils; public class MySample { private Date _startDatetime; private Date _endDatetime; private void setTim…

Slim3 の application_ja.properties に日本語を書くために UTF-16 LE を16進数で表現する

Slim3 の application_ja.properties にマルチバイトを記述するには、文字列を UTF-16LE に変換して16進数でダンプする必要があることに気が付いた。 この方法を Java でやる方法がわからなかったので、Perl で書いてみた。 #!/usr/bin/perl use strict; use…

Slim3 の BeanUtil で特定の値を処理対象外にしたい場合

例えば、渡された値が一意でその値を Key として利用したい場合や、タイムスタンプを Java で利用できるミリ秒単位に変換したい場合などで、BeanUtil で処理をする前に一度別の処理を行いたいときに使う。 public class ItemService { private ItemMeta a = …

Slim3 をローカルで起動するとエラーが発生する

エラー内容は下記の通り。 2011/06/21 3:03:50 com.google.apphosting.utils.jetty.JettyLogger info 情報: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger 2011/06/21 3:03:50 com.google.apphosting.utils.config.AppEn…

Slim3 の JSP でそのまま文字列を出力する

JSP ファイル内での記述 <p>${f:h("&amp;")}</p> <p>${"&amp;"}</p> 出力後 <p>&amp;amp;</p> <p>&amp;</p>

Slim3 で Text 型で保存したい文字列を取り扱う場合

先日、 Slim3 JSP で f:h Text#getValue() は使えない というエントリを書いたが、親切に現在の Slim3 で Text 型を扱う場合の方法を教えてもらうことができた。 Slim3 で Text 型を扱う際に何が問題だったのか Text 型で保存した文字列を View 側で表示させ…

Slim3 JSP で f:h Text#getValue() は使えない

Text型で保存されたデータをいつ String 型に変換するかを悩み、他の人はどうしているのか調べてみたところ、 higayasuo 2009/06/28 10:06 後、r297でf:hでもText#getValue()を呼び出すように修正しました。 http://d.hatena.ne.jp/suzune64/20090627/124611…

Slim 3 で時間帯を設定する

web.xml の web-app 要素に下記の子要素を追加する。 <context-param> <param-name>javax.servlet.jsp.jstl.fmt.timeZone</param-name> <param-value>Asia/Tokyo</param-value> </context-param>

Slim 3 で日付の書式を整える

(略) import java.util.Date; import org.slim3.util.DateUtil; (略) public void run(String args[]) { Date today = new Date(); // 日付の書式は SimpleDateFormat を参照 String datePattern = "yyyy-MM-dd"; System.out.println(DateUtil.toString(toda…

Slim3 での No API environment is registered for this thread.

Service クラスの Test Case を作成していてテストを実行するとエラーが発生する。 java.lang.NullPointerException: No API environment is registered for this thread. 調べてみると、 ただ1点だけ、テスト用に Key を生成する方法がわかりません。 無理…

Slim3 で「Could not initialize class org.slim3.datastore.Datastore」が発生する

このサンプルチュートリアルを作成中に、index.jsp にアクセスをすると下記のエラーが発生する。 http://www.seattleconsulting.co.jp/gae/slim3_dev_for_beginner_07.html HTTP ERROR 500 Problem accessing /bbs/. Reason: Could not initialize class org…

Slim3 の HOT reloading とは

HOT reloading は、サーバーを再起動しなくても Java クラスの変更が反映される仕組みで、開発環境で利用できる便利な機能です。但し、全てのクラスが HOT reloading に対応しているわけではなく、基本的には上記パッケージに属するクラスが対象となります。…