UTNianos

Versión completa: [Consulta]Dispatch de una vista segun de donde uno se conecta
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Alguien conoce (para java) algun framework o ALGO, que realice el dispatch de una vista, dependiendo de donde se esté conectando?

Tengo una página web, que si se conecta un IE 6, tiene que mostrar unas vistas en particular. Si es desde chrome/firefox, otra. Si es ciertos modelos de blackberry (curves, por ejemplo), otra interfaz. Si es un celu viejo, que sea wap 1.0, si es viejo pero no tanto, que sea xhtml-mp, etc...?

No es simplemente cambiar el css, ni tampoco el mime del archivo que envio... si no, que son dos vistas completamente distintas.

Por ej: Ciertos modelos de blackberry no pueden enviar mensajes POST (tira 405), por lo que cosas como subir archivos estarían temporalmente desactivadas.
En IE6 la pantalla tiene una columna a la izquierda con las opciones.
Si es firefox/chrome, una interfaz re cholula con jquery-ui y html 5.
Si es un blackberry nuevo, una con un menú con botones grandes para que mover el puntero no sea un pijazo.
Si es un celu muy viejo (wap), ni siquiera es html, si no que hay que usar otros tags.
Si es un celu viejo pero no tanto (xhtml-mp), una pagina con los menus de una forma, y sin javascript.


Actualmente lo estoy resolviendo con un strategy, y como estoy con Spring MVC, estoy usando un "traductor" para que haga el dispatch dependiendo de donde se conecta. Pero seguramente no contemplo todos los casos, asi que quería preguntar si había algo ya hecho y probado. Quisiera que solo lo haga con las vistas, ya que la logica es la misma siempre.

Conocen algo de esto?
No manejo JAVA lamentablente, porque hice algo similar en C++ en estos dias, a partir del IMEI o el User Agent.
Me interesa saber como tomas vos desde el navegador que es lo que se esta usando porque ese analisis no lo hice yo y se me ocurre que debe puede algo mejor.

Off-topic:
Ese titulo era inservible =P ahi te puse algo mas copado y entendible jaja
No lo hago desde el navegador, si no, desde el server con los datos que recibo desde el header. De esa forma, sé el browser que es.

A los blackBerry los distingo por el browser, y porque los de gama baja aceptan xhtml-mp o wap 1.0, y los gama alta no.



Para detectar el browser desde el cliente, tenes el objeto navigator en javascript.

En este caso en particular no me servía, porque wap tiene un seudo-javascript limitado, y xhtml-mp lo anula totalmente.
Pero del header tomabas el User Agent pues no?
Revisas solamente que diga BlackBerry o tenes una base de datos con todos?
Por desde el navegador me refiero a que no tenias una aplicacion atras sino solo los datos que te envia el navegador.
Si, tomaba el user agent por el modelo, y algunos, no todos...

En los casos "desconocidos", me fijaba si el content-type era text/html,application/vnd.wap.xhtml+xml, o text/vnd.wap.wml.

En el caso de los BlackBerry, me fijaba que diga "blackBerry" , y como adicional, me fijaba si aceptaba "application/vnd.wap.xhtml+xml" y "text/html", para saber si era un celu de gama media, o alta. En ese caso, le enviaba una pagina en especial.

Si, es medio una negrada, pero como no tengo todos los modelos existentes, no puedo hacer mucho mas... (suerte que solo es una demo =P). Por lo menos funcionó, y ahora estoy interesado reemplazar lo que hice, con algo copado.
Claro, si te pregunto es porque el mio tambien era una demo y en algun momento deberia de acomodarlo =P
Jajajaja, nah posta posta que es una demo =P.
Emmm, si, te creo, posta posta el mio tambien era
URLs de referencia