JSF - Saber o classpath da aplicação numa pagina xhtml

2 respostas
Marques

Colegas,
Em uma pagina xhtml para eu pegar uma imagem uso esses …/ no codigo abaixo.
Tem como eu pegar o classpath na pagina xhtml (estou usando richfaces)?

Muuito obrigado,

Marques

<img src="../../resources/images/sni_logo.jpg" width="46" height="48" />

2 Respostas

bronx

Cara, não sei se é exatamente isso que vc quer.
Mas para pegar o caminho real em jsf, faça isso:

public String getRealPath(String pathLogico){
		FacesContext facesContext = FacesContext.getCurrentInstance();
		ExternalContext externalContext = facesContext.getExternalContext();
		ServletContext servletContext = (ServletContext)externalContext.getContext();
		String pathReal = servletContext.getRealPath(pathLogico);
		if (pathReal.charAt(pathReal.length()-1) == '\\'){
			pathReal = pathReal.substring(0, pathReal.length() - 1);
		}
		return pathReal;
	}

Exemplo de utilização:

String pathLogico = "/img";
        String pathReal = getRealPath(pathLogico);

O resultado (exemplo):

C:\\meuServidor\minhaAplicação\img

Repito: não sei se é isso que vc quer…

G

Olá!

Com EL é bem mais facil.

<img src="${facesContext.externalContext.requestContextPath}/resources/images/sni_logo.jpg" width="46" height="48" />
Criado 22 de setembro de 2009
Ultima resposta 22 de set. de 2009
Respostas 2
Participantes 3