Boa tarde galera, sou iniciante em JSF e to com uma grande duvida, entao vamos la pra duvida: tenho uma classe fornecedor com codigo e nome, e to querendo mostrar no jsp o codigo e nome da consulta desse objeto.
Meu codigo JSP para consultar o objeto atraves do codigo.
<f:view>
<h:form>
Codigo: <h:inputText value="#{minhaAcao.cod}"/>
<h:commandButton action="#{minhaAcao.consultarSetor}" value="Consultar"/>
</h:form>
</f:view>
Codigo Java:
public class MinhaAcao {
private Fachada fachada;
private String cod;
private String nome;
//gets e sets declarados
public String consultarSetor(){
try {
Setor s = new Setor();
String codAux = this.getCod();
s = fachada.procurarSetor(codAux); //retorna um objeto Setor
return "sucesso";
} catch (SetorInexistenteException e) {
return "erro";
}
}
Codigo que mostra os atributos no jsp.
<f:view>
<h:form>
Codigo: <h:outputText value="#{minhaAcao.cod}"/>
Nome: <h:outputText value="#{minhaAcao.nome}"/>
</h:form>
</f:view>
É isso pessoal… esse codigo nunca me retorna o nome…e é isso que me falta… se eu tiver mais atributos, ele tb nao retorna.
Gostaria muito de qq e toda ajuda de vcs. Agradeço por todas as ajudas.
Vlww!!!
Olá, você registrou a minha ação como ManagedBean no faces-config.xml?
Sim, todas as minhas açoes foram add no managed-beans.xml
mas mesmo assim ainda nao consegui!!
[quote=Henrique Fernandes]Sim, todas as minhas açoes foram add no managed-beans.xml
mas mesmo assim ainda nao consegui!![/quote]
managed-beans.xml ?
Que eu saiba não existe este arquivo. Coloque aqui o codigo do seu faces-config.xml
foi mal realmente escrevi errado, mas estao sim no faces-config.xml…
os meus beans estao configurados.
mas vc sabe onde pode estar o erro?
e mais uma vez valeu…
As vezes o problema não está onde esperamos.
Vamos observar o seu código:
[quote]
-
public class MinhaAcao {
-
private Fachada fachada;
-
private String cod;
-
private String nome;
-
//gets e sets declarados
-
-
public String consultarSetor(){
-
try {
-
Setor s = new Setor();
-
String codAux = this.getCod();
-
s = fachada.procurarSetor(codAux); //retorna um objeto Setor
-
return "sucesso";
-
} catch (SetorInexistenteException e) {
-
return "erro";
-
}
-
} [/quote]
-
Você possui o managedBean (backBean) MinhaAcao, OK.
-
Observe que o método consultarSetor() é totalmente eneficiente:
Veja, a instância do setor está encapsulada dentro do método, sendo que deste modo elá não poderá ser utilizada em outros pontos do seu código.
- No JSP, você pretende exibir o “nome”, neste caso deve ser observado que o seu método não seta o nome, por consequência ele nunca será exibido.
Espero ter ajudado.
Outra coisa, o seu método retorna uma String, se você estiver utilizando estas variáveis para fazer o redirecionamento para outra página, é necessário você mapear seu managedbean como “session” para manter o estado do managedBean, se ficar como “request”, mesmo depois da correção não irá funcionar.