次のようなSpringフォームを作成しました。
index.jsp
<a href="/Spring_MVC/order.jsp">Order</a>
注文.jsp
<form:form action="createOrder" method="Post" modelAttribute="order">
<table>
<tr>
<th>
Order ID:
</th>
<td>
<form:input path="order.orderId"/>
</td>
</tr>
<tr>
<th>
Product Name:
</th>
<td>
<form:input path="order.productName"/>
</td>
</tr>
<tr>
<td>
<input type="submit" value="Submit"/>
</td>
</tr>
</table>
</form:form>
Order.java:
public class Order {
private String orderId;
private String productName;
/**
*
*/
public Order() {
}
public Order(String orderId, String productName) {
super();
this.orderId = orderId;
this.productName = productName;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
}
OrderController.java:
@Controller
public class OrderController {
private static final Logger logger = Logger.getLogger(LoginController.class.getName());
/**
*
*/
public OrderController() {
super();
}
@RequestMapping(value = "/createOrder", method=RequestMethod.POST)
public String createOrder(@ModelAttribute("order")Order order, BindingResult result) {
logger.log(Level.INFO, "Order ID: " + order.getOrderId());
logger.log(Level.INFO, "Product Name: " + order.getProductName());
// Implementation validator
// Data Binding the form properties to Order field
if (result.hasErrors()) {
logger.log(Level.INFO, "Error in Binding Result");
}
return "/order";
}
}
Bean 名の順序で BindingResult もプレーン ターゲット オブジェクトも利用できません。POST をサーバーに戻す前に、GET を使用して Bean 名の順序を作成し、最初に Web に渡す必要がありますか。
助けてください。ありがとう。