E aí pessoal, tô com um problema há alguns dias já num projeto JSF e não consigo resolver de jeito nenhum…
Tenho um managed Bean (controlBand) que tem uma String Nome, a qual eu quero preencher com o valor que o usuário colocar em um InputText da minha página bands.jsp. O Problema é que o programa não encontra a Propriedade Nome!
obs.: estou usando também o MyFaces Tomahawk
eu tenho o seguinte erro:
Caused by:
javax.el.PropertyNotFoundException - Property ‘Nome’ not found on type lab.puc.web2.jsf.tmhk.control.ControlBands
Trecho do faces-config.xml:
controlBand
lab.puc.web2.jsf.tmhk.control.ControlBands
request
Trecho do ControlBands.java:
public class ControlBands {
private String Nome;
public String getNome() {
return Nome;
}
public void setNome(String nome) {
this.Nome = nome;
}
Trecho do bands.jsp:
<t:panelTab label=“Cadastro”>
<t:outputLabel for="nomeBandaCadastro" value="Nome: " />
<h:inputText id="nomeBandaCadastro" value="#{controlBand.Nome}"/>
<h:commandButton id="addBand"
value="Cadastrar" action="#{controlBand.processAction}">
</h:commandButton>
<h:outputText value="#{controlBand.Nome}"></h:outputText>
</t:panelTab>
Já tentei declarar uma managed-property dentro da declaração do managed bean, mas ainda assim parece que a property não é encontrada. Alguém aí poderia me ajudar?
[]'z
private String Nome = "";
Tenta inicializar a variável nome no teu ManegedBean…
Não sei se interferiria, mas a variável deveria se chamar “nome” pela convenção de código da SUN
Haamilton, ja tentei inicializar ela vazia e até mesmo com uma String inicial, mesmo assim nao funciona.
Cintia, antes a minha String era toda minúscula, mesmo assim não funcionava! =/
Tenta inicializar a variável pelo ManegadBean…
<managed-bean>
<managed-bean-name>controlBand</managed-bean-name>
<managed-bean-class>lab.puc.web2.jsf.tmhk.control.ControlBands</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>nome</property-name>
<property-class>java.lang.String</property-class>
<value>""</value>
</managed-property>
</managed-bean>
Tira o “<h:outputText value=”#{controlBand.Nome}"></h:outputText>" de depois do commandButton só pra testar
lgweb
Abril 2, 2008, 9:31am
#7
Amigo esperimente colocar um construtor vazio na sua classe
tipo
public SuaClasse(){}
se nao me engano ele é necessario para que o managedbean funcione.
tenta aew, flws.
[quote=lgweb]Amigo esperimente colocar um construtor vazio na sua classe
tipo
public SuaClasse(){}
se nao me engano ele é necessario para que o managedbean funcione.
tenta aew, flws.
[/quote]
Não é necessário…
Galera, valeu pela ajuda aí!
Mas o que aconteceu aqui agora foi que criei um projeto novo, do mesmo jeito… fiz um teste básico com isso e funcionou!
agora to só passando o código de um projeto pro outro… vai saber né…
Vlw mesmo! =]
É, eu realmente não imagino qual era o problema.