2012-05-31 25 views
0

我已創建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。

請幫忙。 謝謝。

回答

1

問題在於你的JSP頁面。

您在輸入標記的路徑屬性中錯誤地使用了字段名稱。

它應該是這樣的。

<form:input path="orderId"/> 

希望這可以幫助你。 乾杯。

+0

我嘗試,但它也不起作用。我點擊上面的index.jsp鏈接並拋出IllegalStateException。請幫忙。 – peterwkc

+0

GET請求映射在哪裏顯示錶單?您還需要定義ModelAttribute並從@ModelAttribute中刪除**「order」**。 –

+0

我沒有,顯示形式,而不是一個HTML鏈接. – peterwkc

0

基於reference,你path屬性input標籤中不應該包含的模型屬性名稱order;

<form:input path="orderId" /> 
相關問題