Ver Mensaje Individual
  #12 (permalink)  
Antiguo 27/05/2011, 02:39
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: llegar a servlet desde jsp

Hola, ya he visto como hacerlo con response, el servlet quedaría así:

Código:
package es.indra.aodb.maintenance.resources.web.servlet;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class IdiomaServlet extends HttpServlet {
	
	private static final long serialVersionUID = -7897645237016575215L;

	protected void doPost (HttpServletRequest request, HttpServletResponse response)
	{					
		String clientLanguage = request.getHeader("Accept-Language");
		//request.setHeader("Accept-Language", clientLanguage);
			
		response.setHeader("Accept-Language", clientLanguage);
	}
}
y en la jsp puedo obtener ese valor.

Pero al final he visto otra manera mucho más sencilla de conseguir lo que quiero, que es poder coger el idioma seleccionado en el navegador y según ese idioma añadir un js u otro, y no necesito llamar a ningún servlet. Y es escribiendo en la jsp:

Código:
<% String strParam = request.getHeader("Accept-Language");	//recoge los idiomas del navegador
		strParam = strParam.substring(0,2);	//obtiene si es en(ingles) o es(castellano) u otro
		if (strParam.equals("es"))
		 {%>
		<script type="text/javascript" src="<s:url value="/js/grid.locale-es.js"/>" ></script>
		<% 
		}	
		else {
		%>
		<script type="text/javascript" src="<s:url value="/js/grid.locale-en.js"/>" ></script>
		<%}%>
Espero que le sirva a alguien, la verdad es que a mí me ha costado bastante dar con esta solución. Muchas gracias a todos, un saludo