2015-05-20 1 views
0

Я застрял в своем коде, я пытаюсь передать информацию об объекте «Студент». Мой сценарий таков:Весенняя модель пропуска MVC для просмотра тогда контроллеру

  1. Регистрационная форма (заполнить детали и нажмите кнопку отправить перейти на следующую страницу)

  2. С этой точки зрения модель будет распечатана затем нажмите следующую кнопку еще раз.

  3. Эта третья страница просто покажет информацию снова.

Q: Как я могу передать тот же объект и отобразить его с другими видами?

Мой код такой. вид

Регистрация:

<form action="/HamburgerProject/stuSubmitAdmissionForm.html" method="post"> 
    <table> 
    <tr> 
     <td>Name:</td>   <td><input type="text" name="studentName"></td></tr> 
    <tr> 
     <td>Age:</td>   <td><input type="text" name="studentAge"></td></tr> 
    <tr> 
    </table> 
    <input type="submit" value="submit this"> 
</form> 

Первая информация Вид:

<form action="/HamburgerProject/stuSubmitAdmissionForm.html" method="post"> 
<table> 
    <tr> 
     <td>Student's Name :</td> 
     <td>${student.studentName}</td> 
    </tr> 
    <tr> 
     <td>Student's Age :</td> 
     <td>${student.studentAge}</td> 
    </tr> 
</table> 
    <input type="submit" value="send"/> 
</form> 

Второй вывод информации:

<table> 
    <tr> 
     <td>Student's Name :</td> 
     <td>${student.studentName}</td> 
    </tr> 
    <tr> 
     <td>Student's Age :</td> 
     <td>${student.studentAge}</td> 
    </tr> 
</table> 

Мой контроллер:

@RequestMapping(value="/stuAdmissionForm.html", method = RequestMethod.GET) 
public ModelAndView getStudentAdmissionForm() { 
    ModelAndView model = new ModelAndView("AdmissionForm"); 
    return model; 

} 

@RequestMapping(value="/stuSubmitAdmissionForm.html", method = RequestMethod.POST) 
public ModelAndView submitModelAttributeAnnotationAdmissionForm(@ModelAttribute("student") Student student) { 

    ModelAndView model = new ModelAndView("AdmissionSuccess"); 
    return model; 
} 

@RequestMapping(value="/stuDisplayForm.html", method = RequestMethod.POST) 
public ModelAndView getStudent(Student student) { 

    ModelAndView model = new ModelAndView("NewForm"); 
    model.addObject(student); 

    return model; 
} 

При попытке повторно отобразить информацию из второго зрения на третьей точке зрения объект Student не передается.

+0

какой второй способ? Пропущено здесь, чтобы передать объект 'student' объекту' model'? –

+0

Hi Manu. Второй метод - это тот, который извлекает объект Student из регистрационной формы, а затем отображает его во втором информационном представлении. – sdcz6

ответ

1

В поле зрения вашей электронной информации нет полей. Вы должны добавить значения к скрытым файлам:

<form action="/HamburgerProject/stuSubmitAdmissionForm.html" method="post"> 
<table> 
    <tr> 
     <td>Student's Name :</td> 
     <td>${student.studentName}</td> 
    </tr> 
    <tr> 
     <td>Student's Age :</td> 
     <td>${student.studentAge}</td> 
    </tr> 
</table> 
    <input type="hidden" name="studentName" value="${student.studentName}"> 
    <input type="hidden" name="studentAge" value="${student.studentAge}"> 
    <input type="submit" value="send"/> 
</form> 
+0

Привет, Дженс, спасибо за ваш ответ, просто быстрая заметка, означает ли это, что после того, как объект был передан в виде его уже ушедшего? Заранее благодарю вас за ваше рассмотрение, это моя первая попытка сделать веб-приложение, а не много программиста. ТИА. – sdcz6

+0

@ sdcz6 Да, модель будет создана из значений, которые отправляются из формы. – Jens

+0

Привет, Дженс, здорово, что это сработало. Хм, но недостатком здесь является то, что если у меня есть атрибут lots, мне нужно снова отправить каждое поле прямо? Может ли singleton избежать всех повторных присвоений свойств? – sdcz6