ユーザに「あとXX分でタイムアウトしちゃいますよー」みたいなことを知らせるために、web.xmlで定義されたセッションタイムアウトの値を取得する必要がありました。
web.xmlの定義は以下です。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
で、管理対象Beanからは以下のように書いて値が取れました。
HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
int timeout = session.getMaxInactiveInterval();
値は分ではなく秒で取れます(上記例であれば1800)。
これに加えて
を用いれば、わりと簡単に作れます。