2017-03-03 6 views
1

Ich habe Klasse User und Userrole, ich brauche Userrole Objekt in Benutzer ich versuchte unter Codenicht in der Lage Immobilie in Federform zu binden

UserRole.java

public class UserRoleBean { 
private Integer role_id; 
private String roleName; 
private String roleDesc; 
//getter setter 
} 

Benutzer zu binden. java

public class UserBean { 


private Integer userId; 
private String firstName; 
private String lastName; 
private Date dob; 
private String emailAddr; 
private String mobileNo; 
private Integer balance; 
private String password; 

private UserRoleBean roleBean; 
//getter and setter; 

}

AddUser.jsp

<form:form method="POST" action="saveUser.html" modelAttribute="userBean"> 
     <table> 
      <tr> 
       <td><form:label path="userId">User ID:</form:label></td> 
       <td><form:input path="userId" value="${user.userId}" readonly="true"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="firstName">First Name:</form:label></td> 
       <td><form:input path="firstName" value="${user.firstName}"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="lastName">Last Name :</form:label></td> 
       <td><form:input path="lastName" value="${user.lastName}"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="emailAddr">Email Address :</form:label></td> 
       <td><form:input path="emailAddr" value="${user.emailAddr}" readonly="false"/></td> 
      </tr> 
      <tr> 

       <td><form:label path="dob">Date Of Birth:</form:label></td> 
       <td><form:input path="dob" /></td> 
      </tr> 
      <tr> 
       <td><form:label path="mobileNo">Mobile No :</form:label></td> 
       <td><form:input path="mobileNo" value="${user.mobileNo}"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="password">Password:</form:label></td> 
       <td><form:password path="password" value="${user.password}"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="balance">Balance:</form:label></td> 
       <td><form:input path="balance" value="${user.balance}"/></td> 
      </tr> 
      <tr> 
       <td><form:label path="roleBean">Select Role:</form:label></td> 
       <td> 
      <form:select path="roleBean"> 
      <form:option value="0" label="Select" /> 
      <form:options items="${forRoles}" itemValue="role_id" itemLabel="roleName" /> 
      </form:select> 
       </td> 

      </tr> 
     <tr> 
    <td colspan="2"><input type="submit" value="${cap}"/></td> 
    </tr> 
     </table> 
    </form:form> 

Andere Wohnungs binden, aber nicht in der Lage roleBean zu binden, wie dies zu tun,
jede Hilfe würde

+1

Versuchen Sie die Bindung mit dem Pfad mit 'role' anstelle von' roleBean' in ''. – VPK

+1

Sie sollten nicht die Entity Klassen in der GUI verwenden – Jens

+0

keine Änderung Problem ist immer noch gleich, Rollebei ist Null zurück –

Antwort

1

Sie erkannt werden, haben jede Eigenschaft roleBean separat einstellen wie du es für das User-Objekt getan hast.

Wenn Sie eine Eigenschaft von roleBean festlegen, verwenden Sie roleBean.role_id für Id, `roleBean.roleName 'für' roleName '.

Wie Ihr Pfad für roleName ist <form:select path="roleBean"> aber es sollte <form:select path="roleBean.roleName"> sein, wenn es für roleName ist. Gleiches gilt für andere Attribute.

+0

Ich zeige RoleName und speichern Sie die Role_id, jetzt funktioniert es gut, vielen Dank für Ihre Hilfe und Beratung –

+1

Vielen Dank @DhavalJoshi. Freue mich zu helfen. – SachinSarawgi