2008-01-01から1年間の記事一覧
SAStrutsで、Actionの中に内部クラスを作って、そいつをSessionスコープのFormに持ってユースケース中で使いまわす… というようなことをしようと思ったら以下のような感じではまりました。Formのインスタンスが新しいリクエストを送っても新しくならずに古い…
今はSAStruts + mayaaで開発しているのですが、S2Struts + mayaaのノリでStrutsのtaglibなどを使うとpublicフィールドとの相性が悪くてうまく動かないことがありますね。mayaaの利点のひとつに既存のtaglibを流用できるというのがあるので、これはちょっと痛…
EasyMockサポートを使ってテストをしたときのことです。 HttpServletRequestに@EasyMock(register=true)を付けてS2コンテナからHttpServletRequestを取得しようとすると、TooManyRegistrationRuntimeExceptionが発生しました。昔Junit3でやったときは確かに…
ActionのJUnitテストをしようとするとActionCustomizerでNullPointerExceptionが発生します。アクションマッピングを作成しようとしているんですが、JUnitテストなのでそいつをセットするModuleConfigがなくて落ちるわけですね。 ちょっと調べてみたところ、…
あの頃は何がなんだかよくわからなかったMayaa。だが今ならきっと何かがわかる! というわけでMayaaの便利機能をドキュメントから探して使ってみました。 default.mayaa コンテンツページの<h1>の中身ををレイアウトページの<title>内にも設定するのに使用しています。 </title></h1>…
前置き 管理したいですよね。 というわけで調べてみたらこういうエントリがありました。 http://d.hatena.ne.jp/akiraneko/20081009/1223562878 DB → コメントSQLなAntタスクです。 しかし…そうじゃなくて、Entity → コメントSQLがやりたい。 やりかたもこの…
私は「ant?ビルドとかするやつ?」ってレベルなので、Entityが生成できるまでに何日かかることやら…と思っていましたが、またもやあっさりとできてしまいました。 Doltengの時と同じパターンですね…。 つくづくすごいことです。ただ1箇所、ドキュメントでは…
今日は業務報告WEBアプリのHTMLを作成。 …と思ってたが、ほとんどできなかった。 途中で 「そういえばXHTMLって何だ?何がすばらしいんだ?」 「tableタグでレイアウトをするのは良くないらしいけど、何で?」 「WTPのHTMLエディタって、floatがちゃんと表示…
amaterasERDを使ってER図を作成してみました。 もし実際に会社に導入されれば保守するのは自分以外の人間だろうし、ER図を作ってあげたほうがいいだろうと思いまして。amaterasERDを使ったポジティブな感想 ドメインが使える! エンティティの自動レイアウト…
Doltengを使ったらあっさりと環境が構築できてしまいました(でも最初は何か設定を間違えていたみたいで、ずっとあれこれ悩んでいたのは内緒です)。 すごい…けど、一体どうやって動いているのかがよくわからないのは嫌ですねえ(自力では構築できないくせに…
ウチの会社の、週ごとの業務報告をする手続きが新しくなったんですが…次のようになりました。 媒体はExcel。 別ファイルでマニュアルが付いており、必須や文字種などの制限が書いてある。 もちろんセルに入力制限など設定されていない。 なんかもう頭にきた…
はあ。
ActionRedirectに手をついてあやまれ。
起動時になにやらやらかすためのもの。
デフォルトでsetRedirect(false)するActionForward。 ActionRedirectと違って全く可愛げはない。コンストラクタ以外何もないし。
何のためにあるのかさっぱりわからない…。Javadoc読んでもわからない…。
ActionForwardのRedirect版。 リダイレクトパラメータは手動でセット。アンカーまでセットできちゃう。 でもどこからも使われていない…。
Sessionに登録したときにメッセージを除去する指標としてaccessedを使う、と。
おなじみAction。 isCancelledでGlobals.CANCEL_KEYが使われていて、CancelTagではConstants.CANCEL_PROPERTYが使われていた。なんだ?と思ったらActionContext#setCancelledが橋渡しをしていた。理由は謎。
ワイルドカードマッピングに使う。
2度押し防止機構。 サーブレットコンテナは同一セッションに対してアクセスする2つのスレッドに対し、異なる2つのHttpSessionオブジェクトを返すことができるので、同一セッション上の同期はできない、と。
ServletContext.logを使って出力を行うためのクラス。何に使うのかは不明。
filterは文字列をHTMLとして解釈されないようにエスケープ。 encodeURLはエンコードに使うメソッドが動的に変更できるようになっている…。
いろんな機能。 ActionForm作っちゃう機能はCreateActionFormとほぼ同機能。 populateはほとんどがMultipartRequestのための処理。何やってんのかはさっぱりわからない。 printableURLってなんに使うの?
ModuleConfigを取得する機能と、パスからモジュール名を取得する機能と、モジュールを切り替える機能。 モジュールを切り替えるときはメッセージリソースも一緒に切り替わる。
ActionMessageをあらかじめ内包している。んでExceptionHandler(Commandじゃない方)をExceptionConfigに指定しておけばそいつがこのメッセージをしかるべきスコープに登録してくれる。
ただの抽象ファクトリ。
まあ、おまけで。HotDeployのときに使うやつ。 メッセージを取得するたびに読み込んだキャッシュを全部消して新しく取得しなおしてる。
メッセージリソースをプロパティファイルに求めるMessageResources。 ロケールとメッセージキーでメッセージを要求すると、「configプロパティ + "_ロケール.properties"」をパスにしてプロパティファイルを読み込み、メッセージを返す。 ロケールを指定しな…
メッセージリソースに関するFacadeクラス? メッセージをMessageFormatにしてキャッシュしたり、メッセージが見つからなかったときはnullを返すか見つかりません的なメッセージを返すか、メッセージをエスケープするかとかしてる。