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
[]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 !