Na pagina onde estao as minhas tags em JSF como que eu faço para pegar o valor do identificador da URL e passar ele para uma classe. Eu estou tentando usar Expression Language mas esta dando erro.
Na sua classe vc deve ter um atributo “identificador” com o gets e sets , caso queira esse valor para uma acao posterior coloque ele como um hidden na sua jsp.
<%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><title>JSPPage</title></head><body><f:view><h:formid="form"><h1><h:outputTextvalue="JavaServer Faces"/></h1><h:commandButtonid="teste"action="#{Teste.teste}"/><h:inputHiddenid="identificador"value="#{Teste.identificador}"/></h:form></f:view></body></html>
Teste.java
packagecom.teste;importjava.util.Map;importjavax.faces.context.ExternalContext;importjavax.faces.context.FacesContext;importjavax.servlet.http.HttpServletRequest;publicclassTeste{privateStringidentificador;/** Creates a new instance of Teste */publicTeste(){}publicStringgetIdentificador(){returnidentificador;}publicvoidsetIdentificador(Stringidentificador){this.identificador=identificador;}publicvoidteste(){try{ExternalContextcontext=FacesContext.getCurrentInstance().getExternalContext();HttpServletRequestrequest=(HttpServletRequest)context.getRequest();Stringteste=request.getParameter("identificador");System.out.println("Teste");}catch(Exceptione){e.printStackTrace();}}}
O getParameter so me retona null; o getRequestParameterMap() me retorna null tambem. onde estou errando?