初期化メソッドのreturn nullの意味は?

メソッド名をinitializeにしないと無限ループしたり、return "";にすると無限ループしたりとこんがらがってきました(笑)

とりあえず付属サンプルのEmployeeSearchInitActionImpl.javaのinitializeメソッドの戻り値をreturn null; から return ""; にするとエラーになってしまうので、これはnullを返さなければいけないもんだと思っておきます。

とすると、なぜ戻り値がvoidでなくStringと定義されているのか。これはソースを追うか、ひがさんが書いてくれるドキュメントを読むっきゃないですね(^^;

無限ループの再現方法を書いておきます。

  1. EmployeeSearchInitActionImpl.javaのinitializeメソッドの戻り値をreturn null; から return ""; にします。
  2. index.htmlの</body>タグの直前に<span m:inject="s:invoke" m:action="#{employeeSearchInitAction.initialize}" />と書きます。
  3. index.htmlにアクセスしてみるとinitializeメソッドが無限に呼び出されます。

そう書いてるんだから、そう動くのあたりまえ!ってツッコミ歓迎!!これどうなんでしょうひがさん