我已創建Spring表單這樣的bean的名稱順序平原目標對象:Spring表單無論BindingResult也不可用
的index.jsp
<a href="/Spring_MVC/order.jsp">Order</a>
Order.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>
訂單.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也不平原目標對象可用。是否需要使用GET創建bean名稱順序,並在POST返回到服務器之前先傳遞給Web。
請幫忙。 謝謝。
我嘗試,但它也不起作用。我點擊上面的index.jsp鏈接並拋出IllegalStateException。請幫忙。 – peterwkc
GET請求映射在哪裏顯示錶單?您還需要定義ModelAttribute並從@ModelAttribute中刪除**「order」**。 –
我沒有,顯示形式,而不是一個HTML鏈接. – peterwkc