初期化メソッドのreturn nullの意味は?
メソッド名をinitializeにしないと無限ループしたり、return "";にすると無限ループしたりとこんがらがってきました(笑)
とりあえず付属サンプルのEmployeeSearchInitActionImpl.javaのinitializeメソッドの戻り値をreturn null; から return ""; にするとエラーになってしまうので、これはnullを返さなければいけないもんだと思っておきます。
とすると、なぜ戻り値がvoidでなくStringと定義されているのか。これはソースを追うか、ひがさんが書いてくれるドキュメントを読むっきゃないですね(^^;
無限ループの再現方法を書いておきます。
- EmployeeSearchInitActionImpl.javaのinitializeメソッドの戻り値をreturn null; から return ""; にします。
- index.htmlの</body>タグの直前に<span m:inject="s:invoke" m:action="#{employeeSearchInitAction.initialize}" />と書きます。
- index.htmlにアクセスしてみるとinitializeメソッドが無限に呼び出されます。
そう書いてるんだから、そう動くのあたりまえ!ってツッコミ歓迎!!これどうなんでしょうひがさん