Wie um zu testen, gegen die Werte in der request.getHeader mit jsp?
Im einrichten von Variablen:
<% String userAgent = request.getHeader("user-agent");%>
Wie Teste ich verschiedene Szenarien gegen userAgent mit
<c:choose></c:choose>
Im nicht sicher, wie es eingerichtet?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wollen Sie nicht zu mischen scriptlets mit taglibs/EL. Sie laufen nicht im gleichen Umfang.
Aller request-Header werden in EL verfügbar durch eine implizite abgebildete Objekt
${header}
. Da dieuser-agent
header name ein Sonderzeichen enthält-
so dass${header.user-agent}
nicht wie erwartet funktionieren, müssen Sie die Nutzung der Klammer-notation[]
welche Angebote es.So, in diesem tun sollten:
Unabhängigen zu dem problem: die überprüfung der user-agent-header diese Weise ist ein code smell. Der user-agent-header wird komplett vom client gesteuert und kann leicht gefälscht werden, die in einem völlig anderen Wert (das ist der Grund, warum ich den Begriff "vorgibt" im obigen code-Beispiel). Wie löst man das eigentliche funktionale Anforderung richtig, würde Sie gerne etwas näher über die eigentliche funktionale Anforderung.
Beispielsweise in JavaScript sollten Sie lieber feature-Erkennung über browser-Erkennung.
Oder, wenn Sie möchten, um zu laden spezifischen stylesheets basierend auf dem media-Typ, sollten Sie lieber die
Medium
- Attribut. E. g.Oder, wenn Sie möchten, präsentieren den Anwender eine benutzerfreundliche Zusammenfassung der Informationen finden Sie in den Benutzer-agent-header, die Sie verwenden möchten, ein separates service-statt wie http://user-agent-string.info/. Sie bieten auch eine Java-API-Beispiel.
smartphone.css
im Beispiel sollte das sein, was Sie brauchen für iPhone/Android.