CDI(旧名WebBeans)入門 その5

の続き。

今回はELでのアクセス。

といっても難しいことは何も無い。

ランダムな値を取得するサービス。

import java.util.Random;
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Named;


@Named("random")
@ApplicationScoped
public class RandomService {
    Random r = new Random();
    public int getInt(){
        return r.nextInt();
    }
}


それを表示するJSP

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>${random.int}</h1>
    </body>
</html>

このJSPを表示するとランダムな数値が表示される。

つまり、servlet等でsetAttributeをしてあげる必要は無いということ。必要になった時点でインスタンスが生成される。これはrequestでもsessionでも同じ。


つまり、JSFとの相性が最高なわけであるが、そうでなくとも便利になるはず。