2012-12-12 2 views
5

을 위해 내가 JSP에서 봄 입력 경로를 사용하고봄 입력 경로 목록

는 예 : 순서 내 주요 개체 및 주문 내부가, paymentTransaction이 목록은

여기
<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> 

, 나는 데이터를 입력해야 payerEmail에서 dao를 통해 확인합니다.

하지만 나에게 잘못된 경로와 잘못된 경로가 표시됩니다. jsp에서 입력 경로를 정의하는 좋은 방법을 제안 해주십시오. thanks

+0

질문에 정확한 오류를 포함해야합니다. 사람들이 당신을 도울 수있게 해줍니다. – Henrik

+0

order.paymentTransactions.payer 전자 메일 유효하지 않은 경로 – user1894465

+0

Order는 내 dataObject입니다. List 이 있고, payerEmail은 paymentTransaction 내에 선언 된 변수입니다. 입력 데이터를 payerEmail에 전달해야합니다. 경로를 정의하는 방법을 알려주세요. 덕분에 – user1894465

답변

11

Spring에서 Bean 목록을 매핑하는 동안 경로 속성을 제공하기가 어렵습니다. <form:input>을 일반 html <input>으로 바꿀 수 있습니다.

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

여기에 스프링 MVC에서 폼 객체로 목록을지도하는 완벽한 예입니다

예 :이 목록에 작업하는 동안 <form:input>를 사용하기 어려운 이유 Spring MVC: Multiple Row Form Submit using List of Beans

위의 예제도 논의한다. 그 아래 같은 것을 사용하려고하기 때문에 경우 :

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

봄은 간단한 HTML로이 렌더링됩니다

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

를 대괄호 []를 무시.

따라서 매핑 목록에 <form:input>을 사용할 수 없습니다.

+0

감사합니다 .. 내 사건에 대한 목록으로 모든 정보를 표시하기 때문에 대답을 얻었습니다 : $ {orderList.order.paymentTransactions [0] .payerEmail} 잘 작동합니다. – user1894465

+0

@HungTran 어떤 버전의 Spring을 사용 했습니까? –

+0

@Viral Patel : 저는 Spring 3.1.0을 사용했습니다. 출시. Spring은 id 속성에서 괄호로 묶은 것을 제거하고 여전히 name 속성의 대괄호를 유지합니다.

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"/>

이 나를 위해 일했다.