Array x JSF

2 respostas
M

Pessoal, estou tentando retornar um array ao invés de apenas um registro numa busca do meu primeiro JSF e estou tendo problemas, vou postar o código que retorna apenas um registro, que está funcionando certinho, e se alguém se dispor em me explicar como trasformar pra retornar o array, onde tenho que mudar além da ACTION, ficaria muito agradecido!!!

BUSCAR.jsp

<f:view>
       <h:form>
          <center><h2> Busca </h2></center>
          <br>
          Digite o Título:
          <h:inputText id="titulo" value="#{atendimento.titulo}"/>
          <h:commandButton value="OK"     action="#{atendimento.buscar}"/>
        </h:form>
        <br>
        <h:outputLink value="index.faces">
          <f:verbatim>voltar</f:verbatim>
        </h:outputLink>
    </f:view>

ACTION

public String buscar() throws SQLException {
        String result_busca = BUSCA_INVALIDA;
        try {
        	stm = con.createStatement();
        	rs = stm.executeQuery("SELECT titulo, " +
        			"                     descricao, " +
        			"                     data_perg " +
        			"                FROM pergunta " +
        			"               WHERE titulo = '"+ titulo +"'");
        	if (rs.next()) {
	            titulo = rs.getString(1);
	            descricao = rs.getString(2);
	            data = rs.getString(3);
	            result_busca = BUSCA_VALIDA;
        	}
        	else
        		result_busca = BUSCA_INVALIDA;
        	
        	rs.close();
        	stm.close();
        } catch (SQLException e) {
          System.err.println ("Erro: "+e);
        }
        return result_busca;
    }

RESULTADO.jsp

<f:view>
       <h:form>
         <center><h2> Resultado da Busca </h2></center>
         <br>
         <table>
        <tr>
          <td>Titulo:</td>
          <td>
             <h:outputText value="#{atendimento.titulo}"/>
          </td>
        </tr>
        <tr>
          <td>Descrição:</td>
          <td>
             <h:outputText value="#{atendimento.descricao}"/>
          </td>
        </tr>
        <tr>
          <td>Data:</td>
          <td>
             <h:outputText value="#{atendimento.data}"/>
          </td>
        </tr>
         </table>
       </h:form>
       <br>
       <h:outputLink value="index.faces">
         <f:verbatim>voltar</f:verbatim>
       </h:outputLink>
    </f:view>

FACES-CONFIG

<navigation-rule>
		<from-view-id>/buscar.jsp</from-view-id>
	 	<navigation-case>
    		<from-outcome>success</from-outcome>
    		<to-view-id>/sucesso_busca.jsp</to-view-id>
  	 	</navigation-case>
  		<navigation-case>
    		<from-outcome>failure</from-outcome>
    		<to-view-id>/falha_busca.jsp</to-view-id>
  		</navigation-case>
	</navigation-rule>

<managed-bean>
   		<managed-bean-name>atendimento</managed-bean-name>
   		<managed-bean-class>pkg.AtendimentoBD</managed-bean-class>
   		<managed-bean-scope>session</managed-bean-scope>
 	</managed-bean>

2 Respostas

Anderson_Schmidt

Amigo,

Altere o seu método para carregar um Array ao invés de jogar os dados em variáveis como vc faz hj. Depois, instancie essa lista do bean em um componente h:dataTable em sua jsp. Vc pode encontrar vários exemplos no google.

Flws!
Schmidt

M

schmidt:
Amigo,

Altere o seu método para carregar um Array ao invés de jogar os dados em variáveis como vc faz hj. Depois, instancie essa lista do bean em um componente h:dataTable em sua jsp. Vc pode encontrar vários exemplos no google.

Flws!
Schmidt

Desculpe pelo pedido, mas é que to começando agora agora com JSF. Teria como vc exemplificar a partir do meu código, pois esta maneira eu segui em um tutorial do GUJ, e nem tenho noção de como fica ao alterar desta maneira q vc falou!!

Valew.

Criado 3 de novembro de 2006
Ultima resposta 3 de nov. de 2006
Respostas 2
Participantes 2