Como obter um HttpServletRequest à partir de um JspContext?

Boa Tarde !

Estou tentando (e não conseguindo :roll: ) pegar o objeto request atrevés do objeto JspContext que obtenho chamando o método getJspContext dentro da minha TagLib, alguém tem idéia de como posso fazer isso ?
eu estava precisando acessar a request para acessar métodos de autenticação como o isUserInRole, etc…

desde já agradeço a atenção :wink:

[]s

se você está tentando acessar o request dentro de uma página jsp, existe um objeto implícito chamado “request”, portanto é só acessar o request diretamente, sem nenhum import, por exemplo.

<%= request.getParameter("id"); %>

não se era bem isto a sua dúvida…qualquer coisa tamo ae.

não sei se é possível pegar o request em si, mas se vc precisar acessar algum atributo do request, vc pode usar a versão sobrecarregada do método getAttribute:

int escopoRequest = 0; //0 pela constante que representa o escopo request;
jspContext.getAttribute(“nome_atributo”, escopoRequest);

Não tou lembrado nem de que classe é e nem o valor da constante que vc precisa colocar no segundo argumento.

[]'s

Veja se isso funciona:

[code]public class TaglibTest extends SimpleTagSupport {

@Override
public void doTag() throws JspException, IOException {
	final PageContext pageContext = (PageContext) this.getJspContext();
	final HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
	
	// Executa a lógica necessária
	request.isUserInRole("role");
}

}[/code]

Neste caso, o método getAttribute(String name, int scope) da classe JspContext não resolve o problema dele. Mas apenas pra ficar registrado, as constantes pertencem a classe PageContext (exemplo PAGE_SCOPE, REQUEST_SCOPE, etc).

[quote=Matheus Tardivo]Veja se isso funciona:

[code]public class TaglibTest extends SimpleTagSupport {

@Override
public void doTag() throws JspException, IOException {
	final PageContext pageContext = (PageContext) this.getJspContext();
	final HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
	
	// Executa a lógica necessária
	request.isUserInRole("role");
}

}[/code][/quote]

Obrigada Matheus, cheguei ao mesmo código que vc, ainda não testei mas pelo que andei pesquisando na net deve ser algo deste tipo mesmo !