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との相性が最高なわけであるが、そうでなくとも便利になるはず。