Amigos,
tenho isso:
[code]
public class UserMBean{
private User user;
}
public class User {
private String uSRLoginID;
//getters e setters
}[/code]
no jsp:
<h:inputText value="#{user.user.uSRLoginID}"
no faces-config:
<managed-bean>
<managed-bean-name>user</managed-bean-name>
<managed-bean-class>UserMBean<managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Estou tendo o seguinte erro:
#{user.user.uSRLoginID}’ Target Unreachable, ‘user’ returned null
Porquê isso?
Grato
Na declaração do seu atributo User
private User user;
Inicia ele também:
private User user = new User();
Se você estiver com dúvida o porque você deve fazer isso, dê uma estudada melhor no ciclo de vida dos componentes e managedBean do JSF. É meio confuso, mas certamente você irá entender o porque
Uma dúvida:é arquiteturalmente correto eu fazer:
public class User{
private String id;
public String inserir(){
//chama persistencia
}
}
<h:inputText value="#{user.id}">
<h:commandButton action="#{user.inserir}">
?
[quote=raf4ever]Uma dúvida:é arquiteturalmente correto eu fazer:
public class User{
private String id;
public String inserir(){
//chama persistencia
}
}
<h:inputText value="#{user.id}">
<h:commandButton action="#{user.inserir}">
?[/quote]
É correto sim, inclusive é dessa forma que eu trabalho.
Claro que você pode ter outras layers, como domain layer, DAO layer, service Layer (embora o ManagedBean já pode ser considerado uma service layer na maioria dos casos), se for usar EJB tem a EJB layer e assim vai.
Mas no geral, você está trabalhando de forma correta sim.