SeamでHttpServletRequestにアクセスする方法
SeamアプリケーションでHttpServletRequestなどのサーブレットAPIのオブジェクトにどうやってアクセスするか、知らないとどうやってやるべきかすぐにわからないのですが、FAQとして以下にやり方が書いてあったので、メモしておきます。
http://seamframework.org/Documentation/HowCanIAccessTheHttpServletRequestOrHttpSessionDirectly
ServletContexts.instance().getRequest()として直接取得するか、
<factory name="httpRequest" value="#{facesContext.externalContext.request}" auto-create="true"/> <factory name="httpSession" value="#{facesContext.externalContext.request.session}" auto-create="true"/>
@In HttpServletRequest httpRequest; @In HttpSession httpSession;
のようにしてアクセスできるようです。一般に属性の値が知りたいだけなら@RequestParameterなどを使うべきですが、RemoteHostなどを取得したい場合などに知っていると便利です。