É realmente necessário que os managedBeans tenhos os métodos
getters e setters ?
O motivo é que no nosso sistema usamos uma classe só pra representar
os dados da vista (ex:modeloVO). Essa classe só possui os atributos da vista
ela é populada automaticamente pelo nosso framework.
A idéia seria ver se é possível substituir nosso framework pelo JSF.
Só que a existência de métodos get e set complicaria a manutenção do sistema.
Sim, todos os atributos da tela precisam ter os getters e os setters. O managed bean representa a tela e o controller junto o que se pode fazer é ter um VO e no teu managed bean ter um atributo desse teu VO. E na página JSF você acessaria assim: #{managedBean.atributoVo.atributo}
Funciona normal, inclusive eu gosto mais dessa abnordagem!
O Exadel tá reclamando do managed-property, reclamando da falta
de elementos. Mas já tem o property-class e property-name junto com
o seu valor.
Valeu!
rafael.espiritosanto
Eu corrigi o problema no faces config.
Mas o que acontece agora é que quando eu faco uma busca. o Bean nao vem
com os valores atribuidos
packagedemo;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassAgendaAction{privateAgendaDBvoAgenda;privatefinalStringCONDICAO_SUCESSO="sucesso";privatefinalStringCONDICAO_FALHA="falha";privatePreparedStatementps;privateConnectioncon;privateResultSetres;publicAgendaAction(){try{Class.forName("com.mysql.jdbc.Driver");con=DriverManager.getConnection("jdbc:mysql://localhost:3306/BancoJSF","oi","oi");}catch(ClassNotFoundExceptione){// TODO Auto-generated catch blocke.printStackTrace();}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}}publicStringinserir(){try{ps=con.prepareStatement("insert into agenda values (null, ?, ?)");ps.setString(1,voAgenda.getNome());ps.setString(2,voAgenda.getEmail());ps.executeUpdate();returnCONDICAO_SUCESSO;}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}returnCONDICAO_FALHA;}publicStringbuscar(){try{ps=con.prepareStatement("select * from agenda where nome = ?");ps.setString(1,voAgenda.getNome());res=ps.executeQuery();if(res.next()){voAgenda.setEmail(res.getString("email"));returnCONDICAO_SUCESSO;}}catch(SQLExceptione){// TODO Auto-generated catch blocke.printStackTrace();}returnCONDICAO_FALHA;}publicAgendaDBgetVoAgenda(){returnvoAgenda;}publicvoidsetVoAgenda(AgendaDBvoAgenda){this.voAgenda=voAgenda;}}