我通过一个简单的表格获得了一些用户数据。在处理相应 backing bean 的 action 方法中的数据时,我目前正在通过这种方式获取用户的 IP 地址:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
String ipAddress = request.getHeader( "X-FORWARDED-FOR" );
if ( ipAddress == null ) {
ipAddress = request.getRemoteAddr();
}
还有另一种方式,一种更“JSF”的方式,我不需要挂钩HttpServletRequest
吗?我读了很多次,不得不javax.servlet.*
在 a@ManagedBean
中使用不是一个好的设计,但我找不到其他任何东西。