2013-09-27 1 views
0

Вот мой JSP фрагмент кода, который вызывает ошибкуНи BindingResult, ни обычный целевой объект для имени боб 'bankDetails [0] доступна как запрос об ошибке атрибута в Spring MVC

<form:select path="bankDetails[0].applicantType"> 
    <form:option value="Applicant">Applicant</form:option> 
    <form:option value="Co-Applicant 1">Co-Applicant 1</form:option> 
    <form:option value="Co-Applicant 2">Co-Applicant 2</form:option> 
    <form:option value="Co-Applicant 3">Co-Applicant 3</form:option> 
    <form:option value="Guarantor 1">Guarantor 1</form:option> 
    <form:option value="Guarantor 2">Guarantor 2</form:option> 
    <form:option value="Guarantor 3">Guarantor 3</form:option> 
</form:select> 

Вот мой контроллеры код

@RequestMapping(value = "enterBankDetails.htm", method = RequestMethod.GET) 
    public ModelAndView enterBankDetails() { 
     functionName = "enterBankDetails"; 
     logger.info("In "+className+" - "+functionName+" "); 
     BankDetails details = new BankDetails(); 
     ArrayList<EntityBankDetail> entitityBankDetails = new ArrayList<EntityBankDetail>(); 
     for(int i = 0 ; i < 4 ;i++){ 
      EntityBankDetail entityBankDetail = new EntityBankDetail(); 
      entitityBankDetails.add(entityBankDetail); 
     } 
     details.setBankDetails(entitityBankDetails); 
     return new ModelAndView("bankDetails/bankDetails", "command",details); 
    } 

Вот код боб

public class BankDetails { 
    private ArrayList<EntityBankDetail> bankDetails; 
    private String[] entities; 
    private int noOfBankDetails; 
    private String test; 
     //getter and setter methods 
} 

public class EntityBankDetail { 
    private String nameOfBank; 
    private String EMIforProposedLoan; 
    private String nameOfBranch; 
    private String city; 
    private String accountType; 
    private String accountNumber; 
    private String applicantType; 
      //getter and setter methods 
} 

Я получаю следующее сообщение об ошибке

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'bankDetails[0]' available as request attribute 
    at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:141) 

Пожалуйста, помогите. Я не могу понять, что я делаю неправильно?

EDIT: То же самое происходит, когда я привязать его испытать

<form:select path="test"> 
    <form:option value="Applicant">Applicant</form:option> 
    <form:option value="Co-Applicant 1">Co-Applicant 1</form:option> 
    <form:option value="Co-Applicant 2">Co-Applicant 2</form:option> 
    <form:option value="Co-Applicant 3">Co-Applicant 3</form:option> 
    <form:option value="Guarantor 1">Guarantor 1</form:option> 
    <form:option value="Guarantor 2">Guarantor 2</form:option> 
    <form:option value="Guarantor 3">Guarantor 3</form:option> 
    </form:select> 

Neither BindingResult nor plain target object for bean name 'test' available as request attribute 

ответ

0

Во-первых, bankDetails не является массивом, так как проходит массив в форме боба не будет работать должным образом. Я бы использовал стандартный цикл JSTL для каждого цикла, чтобы пройти через bankDetails ArrayList. Кроме того, вы не передаете bankDetails в JSP, а объект details. Также проверьте, что у вас есть getter для bankDetails в компоненте BankDetails.

<c:forEach items="details.bankDetails" var="bankDetail"> 
    ... 
</c:forEach> 

Редактировать: посмотреть, что вы возвращаете в качестве параметров ModelAndView. Вы указали, что имя компонента должно быть «командой». Измените это на строку или имя «детали» или компонент, который вы используете в представлении JSP.

+0

Мне не нужно распечатывать значения. Мне нужно связать свойства каждого объекта EntityBankDetail для формирования. –

+0

Я знаю, но вы получаете доступ к bankDetails как массив; а не ArrayList. – blackpanther

+0

Я всегда могу получить к нему доступ таким образом, у меня есть рабочий код, который иллюстрирует это. Также проверьте мои изменения. –

0

Это была моя ошибка. Я включил

<form:select path="test"> 
    <form:option value="Applicant">Applicant</form:option> 
    <form:option value="Co-Applicant 1">Co-Applicant 1</form:option> 
    <form:option value="Co-Applicant 2">Co-Applicant 2</form:option> 
    <form:option value="Co-Applicant 3">Co-Applicant 3</form:option> 
    <form:option value="Guarantor 1">Guarantor 1</form:option> 
    <form:option value="Guarantor 2">Guarantor 2</form:option> 
    <form:option value="Guarantor 3">Guarantor 3</form:option> 
    </form:select> 

вне моего <form:form> </form:form> тег. Итак, теперь я знаю, что изучение структуры jsp одинаково важно, если я получаю такую ​​ошибку.

Смежные вопросы

 Смежные вопросы