2014-11-12 1 views
1

Я хочу, чтобы пользователь вводил детали через ряд переключателей. Класс java затем выполняет некоторую работу, просматривая ответы и возвращая оценку пользователю на основе ответов (т. Е. Другой ответ может давать разные обратные связи). ive написал код для jsps и теперь должен каким-то образом связать его с классом java, содержащим оператор if, пройти через оператор if и затем вернуть результат.Использование оператора if для отправки результата обратно в jsp

первая JSP, где кнопки радио выбраны

<form:form action="/HelloSpring/questionTwo" method="post"> 

    <p> What is the correct wrapper class for the primitive int? </p> 
    <input type="radio" name="radios1" value="Int" path="types" >Int<br> 
    <input type="radio" name="radios1" value="Enum" path="types">Enum<br> 
    <input type="radio" name="radios1" value="integer" path="types" >integer<br> 
    <input type="radio" name="radios1" value="Integer" path="types" >Integer<br> 

      <input type="submit" value="Next" > 

</form:form > 

контроллер, где он должен прочитать результаты, а затем выполнить, если оператор

@RequestMapping(value = "/results", method = RequestMethod.POST) 
     public String results(Model model, HttpServletRequest request, 
       HttpServletResponse response){ 


       String radio = (String)request.getParameter("radios1"); 
       request.setAttribute("total", total); 

//    model.addAttribute("total", total); 

       if (radio.equals("Int")){ 
        total = total + 0; 
       } 
       else if (radio.equals("Enum")){ 
        total = total + 0; 
       } 
       else if (radio.equals("integer")){ 
        total = total + 0; 
       } 
       else if (radio.equals("Integer")){ 
        total = total + 1; 
       } 
       else{ 
        total = total + 0; 
       } 


       System.out.println(radio); 

       return "results"; 

    } 

СПЯ, которые должны размещать какой результат они получают. Бито session.getAttribute работает просто не $ {} общей

<p>Good day <%= session.getAttribute("uname") %> </p> 
<p>For question 1 you chose <%= session.getAttribute("q1") %> </p> 
<p>For question 2 you chose <%= session.getAttribute("q2") %> </p> 
<p>For question 3 you chose <%= session.getAttribute("q3") %> </p> 
<p>For question 4 you chose <%= session.getAttribute("q4") %> </p> 

<section> 
    <p>Total score: ${total} /4</p> 
+0

Вы можете использовать сервлет для обработки данных и отправки их клиенту. Не знаю, как это относится к весне-mvc. – Compass

+0

im пытается сделать этот проект весной. и является сервлетом классов Java с такими вещами, как: @RequestMapping (value = "/ results", method = RequestMethod.POST) public String results (Модель, запрос HttpServletRequest, HttpServletResponse response) –

+0

ps как вы пишете сервлет весной? @ Compass- –

ответ

0

Отправить форму к контроллеру, вызовите, если заявление и поместить результат в ModelAndView, что ваше возвращение контроллера.

@RequestMapping(value = "/results", method = RequestMethod.POST) 
    public ModelAndView results(Model model, HttpServletRequest request, HttpServletResponse response){ 

     ModelAndView mav = new ModelAndView(); 
     // set name of next view ... 
     mav.setViewName("results"); 

     // handle if... 

     // add results to next view ... 
     mav.addObject("anyNameYouWant", yourObject); 
     return mav; 

} 
+0

Я отправил, а затем вызвал if statement. что вы подразумеваете под бит M & V? опубликует соответствующий код, чтобы вы могли видеть –

+0

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/servlet/ModelAndView.html – Stefan

+0

код, о котором идет речь сейчас –

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