AjaxSuggest + DataTable + JSF

9 respostas
Eduardo_Bregaida

Pessoal, queria fazer um esquema assim:

Digito um nome no
s:inputSuggestAjax suggestedItemsMethod="#{rmHandler.suggest}"
dai ele armazenaria o id e carregaria um dataTable com os dados da pessoa, dai vem as duvidas:

Como eu faço p/ pegar esse id, passar como parametro para o bean da dataTable?

fiz algo assim mas n deu certo:

<s:inputSuggestAjax suggestedItemsMethod="#{rmHandler.suggest}">
					<f:param id="editId" name="id" value="#{crm.id}"/>
				</s:inputSuggestAjax>
public List<String> suggest(String buscaNomeRM) {
		Session session = HibernateUtil.getCurrentSession();
		RMDAO dao = new RMDAO(session);

		return dao.buscaNomeRM(buscaNomeRM);

	}

	public List<CadastroRM> relatorioCadastroRM(ActionEvent event) {
		UIComponent component = event.getComponent();
		UIParameter parameter = (UIParameter) inputSuggestAjax
				.findComponent("editId");
		Long id = (Long) parameter.getValue();
		Session session = HibernateUtil.getCurrentSession();
		DAO<CadastroRM> dao = new DAO<CadastroRM>(session, CadastroRM.class);
		return (List<CadastroRM>) dao.load(id);
	}

vlwwww :?

9 Respostas

Eduardo_Bregaida

Alguem conhece alguma solução? :frowning:

Eduardo_Bregaida

Então pessoal, nda? =/

humberto.lima

Vc quer q a dataTable seja carregada toda vez q o cara apertar uma tecla, ou so qndo perder o foco? vc pode usar o a4j:support, configura-lo para qndo perder o foco atualizar a tabela de acordo com o q tem no edit.

[]´s

Humberto Lima

Eduardo_Bregaida

humberto.lima:
Vc quer q a dataTable seja carregada toda vez q o cara apertar uma tecla, ou so qndo perder o foco? vc pode usar o a4j:support, configura-lo para qndo perder o foco atualizar a tabela de acordo com o q tem no edit.

[]´s

Humberto Lima

Sim era isso q eu queria, vc tem algum exemplo para eu ver mais ou menos e adaptar meu codigo atual? no momento só consigo fazer a tabela dentro da tablesuggest mas é feio, queria q o dataTable fosse carregado depois da pesquisa do suggest :smiley:

humberto.lima

Eu não tenho nenhum exemplo aqui, mas a ideia é simples…

<s:inputSuggestAjax suggestedItemsMethod="#{rmHandler.suggest}">  
        <a4j:support event="onblur" reRender="tabelaId"/>
</s:inputSuggestAjax>

[]´s

Humberto Lima

Eduardo_Bregaida
humberto.lima:
Eu não tenho nenhum exemplo aqui, mas a ideia é simples...
<s:inputSuggestAjax suggestedItemsMethod="#{rmHandler.suggest}">  
        <a4j:support event="onblur" reRender="tabelaId"/>
</s:inputSuggestAjax>

[]´s

Humberto Lima

p/ configurar o ajax4jsf basta eu colocar isso no filter né?

<!--  ajax4jsf -->

   <filter>

       <display-name>Ajax4jsf Filter</display-name>

       <filter-name>ajax4jsf</filter-name>

       <filter-class>org.ajax4jsf.Filter</filter-class>

   </filter>
humberto.lima

E tem q fazer o relacionamento com o servlet do faces usando .

<filter-mapping>  
             <filter-name>ajax4jsf</filter-name>  
             <servlet-name>Faces Servlet</servlet-name>  
             <dispatcher>REQUEST</dispatcher>  
             <dispatcher>FORWARD</dispatcher>  
             <dispatcher>INCLUDE</dispatcher>  
 </filter-mapping>

Humberto Lima

Eduardo_Bregaida

humberto.lima:
E tem q fazer o relacionamento com o servlet do faces usando .

Humberto Lima

<servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping>

Viajei agora…

sergiolopes

olha só o web.xml que usamos aqui no curso fj-26 com richfaces e ajax4jsf:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="Contas_A_Pagar" version="2.5"&gt;

  &lt;display-name&gt;projetojsf&lt;/display-name&gt;

  &lt;!-- Arquivos que sao acessados quando / eh acessada --&gt;
  &lt;welcome-file-list&gt;
    &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;
    &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;

  &lt;!-- Define a skin do ajax4jsf. Ha varias opcoes --&gt;
  &lt;context-param&gt;
    &lt;param-name&gt;org.richfaces.SKIN&lt;/param-name&gt;
    &lt;!--&lt;param-value&gt;DEFAULT&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;plain&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;emeraldTown&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;blueSky&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;wine&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;japanCherry&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;ruby&lt;/param-value&gt;--&gt;
    &lt;!--&lt;param-value&gt;classic&lt;/param-value&gt;--&gt;
    &lt;param-value&gt;deepMarine&lt;/param-value&gt;
  &lt;/context-param&gt;

  &lt;!-- Configura onde salvar o estado dos componentes. O padrao é server --&gt;
  &lt;context-param&gt;
    &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
    &lt;param-value&gt;server&lt;/param-value&gt;
  &lt;/context-param&gt;

  &lt;!-- Configura o filtro obrigatorio do Ajax4Jsf --&gt;
  &lt;filter&gt;
    &lt;display-name&gt;Ajax4jsf Filter&lt;/display-name&gt;
    &lt;filter-name&gt;ajax4jsf&lt;/filter-name&gt;
    &lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;
  &lt;/filter&gt;
  &lt;filter-mapping&gt;
    &lt;filter-name&gt;ajax4jsf&lt;/filter-name&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;
    &lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;
    &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;
  &lt;/filter-mapping&gt;

  &lt;!-- Configura a servlet do JSF. --&gt;
  &lt;servlet&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
    &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
&lt;/web-app&gt;
Criado 26 de setembro de 2007
Ultima resposta 1 de out. de 2007
Respostas 9
Participantes 3