Javascript 将值从服务器分配到html并保存

Javascript 将值从服务器分配到html并保存,javascript,jquery,html,spring,spring-restcontroller,Javascript,Jquery,Html,Spring,Spring Restcontroller,我使用弹簧休息 我想显示一个对象并保存它 @RequestMapping(value = "/lodgers", method = RequestMethod.POST) public LodgerInformation createLodger(@RequestBody @Valid final LodgerInformation lodgerDto) { return lodgerService.save(lodgerDto); } public class LodgerInfor

我使用弹簧休息

我想显示一个对象并保存它

@RequestMapping(value = "/lodgers", method = RequestMethod.POST)
public LodgerInformation createLodger(@RequestBody @Valid final LodgerInformation lodgerDto) {
    return lodgerService.save(lodgerDto);
}

public class LodgerInformation {
    private long lodgerId;
    private String firstName;
    private String lastName;
    private List<IdentityCardDto> identityCardDtoList;
    ...
}



public class IdentityCardDto {
    private long identityCardId;
    private IdentityCardTypeDto identityCardTypeDto;
    private String value;
    ...
}

public class IdentityCardTypeDto {
    private long identityCardTypeId;
    private String identityCardType;
    private Date expiration;
    private boolean hasExpirationDate=false;
    ...
}
@RequestMapping(value=“/lodgers”,method=RequestMethod.POST)
公共房客信息创建房客(@RequestBody@Valid final房客信息房客){
返回lodgerService.save(lodgerDto);
}
公共类寄宿信息{
私人长房客;
私有字符串名;
私有字符串lastName;
私有列表标识CarddToList;
...
}
公共类标识CardTo{
私人长识别码;
私人身份CardTypedTo身份CardTypedTo;
私有字符串值;
...
}
公共类标识CardTypedTo{
私有长标识CardTypeID;
私有字符串标识CardType;
私人日期到期;
私有布尔值hasfirationdate=false;
...
}
在html方面,我需要为名称使用什么结构? 是否有一些库可以方便地为html组件赋值,反之亦然

获得答案:


“{”timestamp“:1436292452811,“status“:400,“error:”错误请求“,”异常“:”org.springframework.http.converter.httpmessagenoteradableexception“,”消息“:”无法读取文档:无法识别的标记“firstName”:在[Source:java.io]处应为“null”、“true”、“false”或NaN\n。PushbackInputStream@3f7cf4ca;行:1,列:11];嵌套异常为com.fasterxml.jackson.core.JsonParseException:无法识别的标记“firstName”:在[Source:java.io]处应为“null”、“true”、“false”或NaN\n。PushbackInputStream@3f7cf4ca;行:1,列:11],“路径”:“/lodgers”}”

需要发送到此处的输入应为以下格式

{
lodgerId : 1,
identityCardDtoList: [{
                        identityCardId: 11,
                        identityCardTypeDto:{
                            identityCardTypeId: 111,
                            identityCardType: "Node 1.1.1",
                            expiration: 12/12/2015,
                            hasExpirationDate: true
                            }
                       },{
                        identityCardId: 12,
                        identityCardTypeDto:{
                            identityCardTypeId: 112,
                            identityCardType: "Node 1.1.2",
                            expiration: 12/12/2015,
                            hasExpirationDate: true
                            }
                     }] 
}

请告诉我这是否是您要找的

表格应该是这样的

 <form id="newPersonForm">
      <label for="nameInput">Name: </label>
      <input type="text" name="name" id="nameInput" />
      <br/>
       
      <label for="ageInput">Age: </label>
      <input type="text" name="age" id="ageInput" />
      <br/>
      <input type="submit" value="Save Person" /><br/><br/>
      <div id="personFormResponse" class="green"> </div>
    </form>
控制器代码

@Controller
@RequestMapping("api")
public class PersonController {

    PersonService personService;
// handles person form submit
@RequestMapping(value="person", method=RequestMethod.POST)
@ResponseBody
public String savePerson(@RequestBody Person person) {
    personService.save(person);
    return "Saved person: " + person.toString();
}
Person对象必须转换为JSON。由于Spring的HTTP消息转换器支持,您不需要手动执行此转换。由于Jackson 2位于类路径上,因此会自动选择Spring的MappingJackson2HttpMessageConverter将问候语实例转换为JSON。
发送到控制器的Person对象将由jquery映射,jquery在
@RequestBody

的帮助下创建Person对象。您是在询问发送到此处的转换为LodgerInformation的xml/json吗?序列化表单似乎不太好用。我更需要如何命名html组件。当我收到来自ajax调用的响应时,是否有库能够对组件进行分配。。。或者我需要像$(“#lodgerFirstName”).val(data.firstName)这样的东西;那么,您是在询问在数据发送到视图后如何在视图页面上赋值吗?正如我所说,我的询问有两点。1.我需要使用的组件名称,以便能够将值分配给服务器。还有一种方法可以将我从服务器获得的值分配给组件,或者我需要手动分配每个字段。2.如何获取表单值、构建json查询并将其传递到url。也许有一些库可以获取表单值并构建json?我真的想帮助你,但是很难理解你到底想要什么。如果我添加一个包含50个不同输入的表单,请选择。。。并且需要将表格发送到rest服务。我是否需要手动构建json,或者有一些库可以做到这一点?不是让spring进行转换,而是在js中有方法进行转换吗?当您有许多嵌套对象时,如果一些具有相同名称字段,会发生什么情况?结构是如何自动创建的?
@Controller
@RequestMapping("api")
public class PersonController {

    PersonService personService;
// handles person form submit
@RequestMapping(value="person", method=RequestMethod.POST)
@ResponseBody
public String savePerson(@RequestBody Person person) {
    personService.save(person);
    return "Saved person: " + person.toString();
}