2012-12-12 42 views
5

Tôi đang sử dụng con đường đầu vào mùa xuân trong jspmùa xuân cho danh sách

ví dụ:

<div class="cell label"> 
    <form:label path="order.paymentTransactions.payerEmail">Payer Mail</form:label> 
</div> 
<div class="cell"> 
    <form:input path="order.paymentTransactions.payerEmail" name="payerEmail"/> 
</div> 

đây, trật tự là đối tượng chính của tôi và bên trong trật tự, paymentTransaction là một danh sách, tôi phải dữ liệu đầu vào để kiểm tra thông qua dao trong payerEmail.

Nhưng nó hiển thị lỗi cho tôi và đường dẫn không hợp lệ. Xin vui lòng đề nghị tôi một cách tốt để xác định đường dẫn đầu vào trong jsp. thanks

+0

Bạn nên bao gồm lỗi chính xác trong câu hỏi của mình. Giúp mọi người dễ dàng giúp bạn hơn. – Henrik

+0

order.paymentTransactions.payerEmail đường dẫn không hợp lệ – user1894465

+0

Thứ tự là dataObject của tôi, bên trong thứ tự tôi có List , payerEmail là một biến được khai báo bên trong paymentTransaction. Tôi cần phải chuyển dữ liệu đầu vào đến payerEmail. Xin hãy giúp tôi làm thế nào để xác định đường dẫn. thanks – user1894465

Trả lời

11

Khi ánh xạ danh sách bean trong Spring, rất khó để cung cấp thuộc tính đường dẫn. Bạn có thể thay thế <form:input> bằng html thuần túy <input>.

<input name="order.paymentTransactions[0].payerEmail" /> 

Dưới đây là một ví dụ hoàn chỉnh để ánh xạ Danh sách như đối tượng hình thức trong Spring MVC

Ví dụ: Spring MVC: Multiple Row Form Submit using List of Beans

Ví dụ trên cũng thảo luận về lý do tại sao rất khó để sử dụng <form:input> khi làm việc với Lists. Của nó bởi vì nếu bạn cố gắng sử dụng một cái gì đó như dưới đây:

<form:input path="order.paymentTransactions[0].payerEmail" name="payerEmail"/> 

mùa xuân sẽ đơn giản làm này dưới dạng HTML:

<input name="order.paymentTransactions0.payerEmail" /> 

Bỏ qua các dấu ngoặc [].

Do đó, không thể sử dụng <form:input> cho Danh sách ánh xạ.

+0

thanks..i có câu trả lời, bởi vì tôi đang hiển thị tất cả thông tin dưới dạng danh sách, cho trường hợp của tôi: $ {orderList.order.paymentTransactions [0] .payerEmail} nó hoạt động tốt. – user1894465

+0

@HungTran Bạn sử dụng phiên bản Spring nào? –

+0

@Viral Patel: Tôi đã sử dụng Spring 3.1.0.Release. Mùa xuân chỉ lột ra khỏi vùng đất lợ từ thuộc tính id, và vẫn giữ khung của thuộc tính name.

0

Chúng tôi có thể lập bản đồ danh sách cho đến mùa xuân. Vui lòng cập nhật trong trang web của bạn. Cảm ơn bạn.

Ví dụ:

<c:forEach var="marksList" items="${personDTO.marksList}" varStatus="status"> 

<form:input path="marksList[${status.index}].hindi" /> 
+0

Tôi rất vui vì tôi đã thử câu trả lời này mặc dù nó có một cuộc bỏ phiếu tiêu cực. Có câu trả lời này làm việc cho tôi. ở đây bạn đi một cuộc bỏ phiếu! – tkr

0

Bạn có thể làm những:

<c:set var="list" value="order.paymentTransactions[0].payerEmail" scope="page" /> 
 

 
<form:input path="${list}" name="payerEmail"/>

Những làm việc cho tôi.