WorkOrderに割り当てることができるユーザーのドロップダウンリストがあります。ここで、User to WorkOrderはOneToMany関係です。問題はユーザーIDにNULL値を割り当てる方法ですか? NULLに設定しないと、正常に動作し、リストから任意の名前を割り当てることができます。ドロップダウンリストで値をNULLに設定する方法は?
私はこのコードを使用して、私のjspでNULL <form:option value="${null}" label="null" />
を選択した場合、私はエラーを取得:
Failed to convert property value of type java.lang.String to required type int for property user.id; nested exception is java.lang.NumberFormatException: For input string: ""
ここに私のWorkorderDAOImpl
@Override
public void saveWorkOrder(WorkOrder theWorkOrder) {
// get the current hibernate session
Session currentSession = sessionFactory.getCurrentSession();
User user = theWorkOrder.getUser();
System.out.println("workorder: " + theWorkOrder);
System.out.println("user: " + user);
//save/update the work order
currentSession.saveOrUpdate(theWorkOrder);
}
私は省略マイWorkOrderは、form.jspです一部のラベル
<form:errors path="workorder.*"/>
<form:errors path="user.*"/>
<form:form action="saveWorkOrder" modelAttribute="workorder" method="POST">
<!-- need to assotiate the data with workorder id -->
<form:hidden path="id"/>
<table>
<tbody>
<tr>
<td><label>User name:</label></td>
<td><form:input path="user.userName"/></td>
</tr>
<tr>
<td><label>User:</label></td>
<td><form:select path="user.id">
<form:option value="${null}" label="null" />
<form:options items="${users}"
itemLabel="userName" itemValue="id"
/>
</form:select>