2016-03-22 13 views
0

Ich habe einen Controller: personController.javaSpring MVC @RequestBody String-Format

@Controller 
public class personController {  

    private static final Logger LOG = LoggerFactory.getLogger(OcaController.class); 

    @RequestMapping(value = "/person", method = {RequestMethod.POST, RequestMethod.GET})   
    public String ocaContract(@RequestBody String requestPerson) { 
     return requestPerson; 
    }  

1 JSP: person.jsp

<html> 
    <head> 
    </head> 
    <body> 
     <form class="form-horizontal" METHOD="POST" ACTION="webmvc/person" ENCTYPE="x-www-form-urlencoded"> 
      <div class="controls"> 
       <input type="text" name="name" id="name" value="" placeholder=""> 
      </div> 
      <div class="controls"> 
       <input type="text" name="surname" id="surname" value="" placeholder=""> 
      </div> 
      <input type="submit" value="ok"/> 
     </form> 
    </body> 
</html> 

und eine Objektklasse: Person.java

@XmlRootElement(name="Person") 
public class Person { 

@XmlElement(required = true) 
protected String name; 
@XmlElement(required = true, nillable = true) 
protected String surname; 

public String getName() { 
    return name; 
} 

public void setName(String value) { 
    this.name = value; 
} ... 

Wenn ich die JSP auffüllen und auf die Eingabe-Schaltfläche klicken, gibt mein Controller diese "requestPerson" Zeichenfolge zurück:

name=&surname= 

Ist es eine Möglichkeit, diese Zeichenfolge als POJO zu verwenden? Mein Endergebnis im XML-Format vorliegen:

<person> 
<name>Lisala</name> 
<surname>Lili</surname></person> 

Ich hoffe, wirst du mir helfen, weil ich nun seit dem 1. Tag auf mich bin und ich fand nicht eine einfache Möglichkeit, dies zu erreichen.

+0

ersetzen Dies ist nullable = true ein Tippfehler in: @XmlElement (erforderlich = true, nillable = true) – Abdelhak

+0

diesen Code xjc erzeugen ... Ich denke, es ist egal –

+0

Also Ihre Frage ist, wie man 'String' mit' Person' ersetzt? – zeroflagL

Antwort

1

Sie können @RequestBody mit @ModelAttribute und String zu Person

public String ocaContract(@ModelAttribute Person requestPerson) {