2012-12-12 27 views
5

के लिए मैं jsp में स्प्रिंग इनपुट पथ का उपयोग कर रहावसंत इनपुट पथ सूची

पूर्व:

<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> 
यहाँ

, ताकि मेरी मुख्य उद्देश्य और व्यवस्था के अंदर, paymentTransaction एक सूची है, मैं इनपुट डेटा के लिए है payerEmail में दाओ के माध्यम से जांचने के लिए।

लेकिन यह मुझे और अमान्य पथ में त्रुटि दिखा रहा है। जेएसपी में इनपुट पथ को परिभाषित करने के लिए कृपया मुझे एक अच्छा तरीका सुझाएं। धन्यवाद

+0

आपको अपने प्रश्न में सही त्रुटि शामिल करनी चाहिए। लोगों की आपकी मदद करने के लिए यह आसान बनाता है। – Henrik

+0

order.paymentTransactions.payerEmail अमान्य पथ – user1894465

+0

आदेश मेरा डेटा है ऑब्जेक्ट, मेरे अंदर सूची है, payerEmail भुगतान के अंदर घोषित एक चर है। ट्रांज़ेक्शन। मुझे payerEmail को इनपुट डेटा पास करने की आवश्यकता है। पथ की परिभाषा कैसे करें कृपया मेरी मदद करें। धन्यवाद – user1894465

उत्तर

11

वसंत में बीन की एक सूची मैप करते समय, पथ विशेषता प्रदान करना मुश्किल है। आप सादे HTML <input> के साथ <form:input> को प्रतिस्थापित कर सकते हैं।

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

यहां एक संपूर्ण उदाहरण वसंत MVC में प्रपत्र वस्तु के रूप में सूची मैप करने के लिए है

उदाहरण: Spring MVC: Multiple Row Form Submit using List of Beans

ऊपर के उदाहरण भी चर्चा क्यों यह <form:input> उपयोग करने के लिए सूचियाँ साथ कार्य करते समय मुश्किल है। इसके क्योंकि अगर आप नीचे की तरह कुछ उपयोग करने का प्रयास: कोष्ठक [] की उपेक्षा कर

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

:

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

स्प्रिंग साधारण HTML के रूप में इस प्रस्तुत करना होगा।

इस प्रकार मैपिंग सूची के लिए <form:input> का उपयोग करना असंभव है।

+0

धन्यवाद .. मुझे जवाब मिला, क्योंकि मैं अपने मामले के लिए सूची के रूप में सभी जानकारी प्रदर्शित कर रहा हूं: $ {orderList.order.paymentTransactions [0] .payerEmail} यह ठीक काम कर रहा है। – user1894465

+0

@ हंगट्रान स्प्रिंग का किस संस्करण का आपने उपयोग किया? –

+0

@ वीरल पटेल: मैंने वसंत 3.1.0 का उपयोग किया। कृपया। वसंत केवल आईडी विशेषता से फंसे हुए छीन लिया, और अभी भी नाम विशेषता का ब्रैकेट रखा। <इनपुट आईडी = "कर्मचारी 0.नाम" नाम = "कर्मचारी [0] .नाम" प्रकार = "पाठ" मूल्य = ""> –

0

हम वसंत के माध्यम से सूची का मानचित्रण कर सकते हैं। कृपया अपनी साइट में अपडेट करें। धन्यवाद।

उदाहरण:

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

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

मुझे खुशी है कि मैंने इस जवाब को आजमाया है, भले ही इसका नकारात्मक वोट हो। हाँ यह जवाब मेरे लिए काम किया। यहाँ आप एक वोट वोट जाओ! – tkr

0

आप इन कर सकते हैं:

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

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

ये मेरे लिए काम किया।