2011-12-26 18 views

cevap

9

tarayıcıya

((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getHeaders(); 
+0

Bu işe yarıyor mu? Dize teklifi = (HttpServletRequest) FacesContext.getCurrentInstance(). GetExternalContext(). GetRequest(). GetHeaders(); Netbeans'da 7.1 hata veriyor: sembol bulamıyor: method getHeaders() –

+0

Bir şey daha. İstemcinin tarayıcı seri numarasını JSF'de görüntülemenin bir yolunu mu arıyorsunuz? Mümkün mü? –

+0

'getRequest()', 'getHeader()' değil, yayınlanmalıdır. – BalusC

20

hakkında ayrıntılı bilgi almak için request den user-agent başlığını okuyabilir tarayıcı en user agent string adıyla User-Agent HTTP istek başlığında olarak kullanılabilir. istek başlıklarını ExternalContext#getRequestHeaderMap() tarafından kullanılabilir JSF şunlardır:

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext(); 
String userAgent = externalContext.getRequestHeaderMap().get("User-Agent"); 

MTU davlumbaz altından ham Servlet API çekmek gerek yok. Her zaman HTTP sunucu isteği veya yanıtına erişmeniz gerektiğinde, her zaman ExternalContext'un javadoc'una bakın. İstek başlıklarının (HTTP isteğindeki diğer her şey gibi) son kullanıcı tarafından tamamen denetlenebilir olduğu unutulmamalıdır. Bu yüzden bilgilerin doğru ve geçerli olduğunu asla varsaymayın. Sadece istatistik için kullanın. Özellik tespiti yapmanız gerekiyorsa, mümkünse JavaScript ve/veya CSS gibi istemci taraf dillerini tercih edin. Bunu daha güvenilir bir şekilde yapabilirler.