2017-05-27 1 views
0

Hallo, ich muss einen der versteckten Werte in meinem Formular an meinen Controller erhalten. Wie kann ich es bekommen. Bitte finden Sie meinen Code unten. Ich brauche den Wert von verstecktem Wert in meinem controller`Verschiedene Möglichkeiten zum Abrufen versteckter Werte von JSP

@RequestMapping("/submitAdmissionForm.html",method = RequestMethod.POST) 
public ModelAndView submitAdmissionForm(@RequestParam("studentName") String name, @RequestParam("studentHobby") String hobby) { 

    ModelAndView model = new ModelAndView("AdmissionSuccess"); 
    model.addObject("msg","Details submitted by you:: Name: "+name+ ", Hobby: " + hobby); 

    return model; 
} 

`

JSP-Seiten

<html> 
 
<body> 
 
\t <h1> STUDENT ADMISSION FORM FOR ENGINEERING COURSES</h1> 
 

 
\t <form action="/submitAdmissionForm.html" method="post"> 
 
\t \t <p> 
 
\t \t \t Student's Name : <input type="text" name="studentName" /> 
 
\t \t </p> 
 
\t \t <p> 
 
\t \t \t Student's Hobby : <input type="text" name="studentHobby" /> 
 
\t \t </p> 
 
\t \t \t <input type="hidden" id="Student" value="Sree" /> 
 
\t \t <input type="submit" value="Submit this form by clicking here" /> 
 
\t </form> 
 
    
 
</body> 
 
</html>

+0

Versteckte Eingänge sind wie jeder andere Eingang. Auf dieselbe Weise, wie Sie 'studentName' erhalten, können Sie den Wert von' Sree' abrufen. – BackSlash

+0

Fügen Sie einfach name-Attribut in Ihrer Eingabe wie folgt hinzu: nachdem Sie es mit der gleichen Weise wie Sie wie andere params behandelt haben –

Antwort

1

Ihr verstecktes Feld nicht das name Attribut nicht bekommen hat, also kann es nicht eingereicht werden.

Sie könnten Folgendes tun.

A. Ersetzen Sie diese

<input type="hidden" id="Student" value="Sree" /> 

mit

<input type="hidden" id="Student" name="Student" value="Sree" /> 

B. einen neuen Parameter zu Ihrem Controller-Methode hinzufügen:

@RequestParam("Student") String hiddenStudent 

Es wird die eingereichten Wert für diese versteckt enthalten Feld.

0

Nur müssen Sie name-Attribut in Ihrer Eingabe und das ist auch ähnliche Weise, aber mit Spring (Reiniger):

//Send to form 
@GetMapping("/StudentForm") 
public String studentForm(Model model) { 

    model.addAttribute("student", new Student()); 

    return "student-form"; 
} 

Jsp Seite:

<form:form method="POST" modelAttribute="student" action="/submitAdmissionForm.html"> 
    <table> 
     <tr> 
      <td>Name: <form:input path="studentName" /></td> 
     </tr> 
     <tr> 
      <td>Hobby: <form:input path="studentHobby" /></td> 
     </tr> 
     <tr>//for example there another student property but it will be hidden 
      <td><form:hidden path="studentNickname" value="${Sree}" /></td> 
     </tr> 
     <tr> 
      <td><input type="submit" /></td> 
     </tr> 
    </table> 
</form:form> 

Federsteuerung:

@PostMapping("/submitAdmissionForm.html") 
public String submitAdmissionForm(@ModelAttribute("student") Student student, Model model) { 
     if(studen != null) { 
      model.addObject("msg","Details submitted by you:: Name:"+student.getName()+ ", Hobby: " + student.getHobby() + "Nickname :" + student.getNickname()); 
     } 
    return "success-form"; 
} 
Verwandte Themen