Java EE 6のEL式の強化
JavaEE 6 では、EL式が何気に強化されてます。実は、EL式でメソッドコールができるようになってます。
しんさんの出張所でも紹介されてますが、これが標準で入るのはかなり良い感じ!
例えば、、、http://d.hatena.ne.jp/Hirohiro/20100126/1264507979:title=のエントリで使ったサンプルで使うと、さらにシンプルになりますね。
- login.xhtmlでこう書いていました。
<h:form> ユーザID:<h:inputText value="#{user.name}" /> <br /> パスワード:<h:inputSecret value="#{user.password}" /> <br /> <h:commandButton value="Login" action="#{loginAction.login()}" /> </h:form>
- これを以下のように書けるのです。
<h:form> ユーザID:<h:inputText value="#{user.name}" /> <br /> パスワード:<h:inputSecret value="#{user.password}" /> <br /> <h:commandButton value="Login" action="#{loginAction.login(user)}" /> </h:form>
package example; import javax.faces.bean.ManagedBean; @ManagedBean public class LoginAction { public String login(User user) { //ここでログイン処理があると想定 System.out.println(user.getName()); System.out.println(user.getPassword()); //ログインOKと想定 return "/top"; } }
これで動きます。