使用post的html形式的java与php

时间:2014-08-11 11:51:02

标签: java php html spring-mvc post

我需要使用post和curl方法将表单从php发送到java。 当我提交表单时,我遇到了在php中获取对象列表的问题。我想知道是否可以像在Spring MVC中那样(在表单中指定属性名称)

<form method="post" action="group_create.php">
    <div>
        Name: <input type="text" name="name" />
        <br />
        <input type="text" name="users[0].name" value="753" />
        <br />
        <input type="text" name="users[1].name" value="752" />
        <br />        
        <input type="submit" value="Save" />
    </div>
</form>

编码方法:

<?php
    http_build_query($_POST);
?>

当前卷曲网址:

javaserver/app/groups/create?name=Administrator&users[0]=Tom&users[1]=Myke

必要的卷曲网址:

javaserver/app/groups/create?name=Administrator&users[0].name=Tom&users[1].name=Myke

我的DTO:

public class GroupDTO {

    private String name;
    private List<UserDTO> users;

    public GroupDTO()
    {
        this.users = new ArrayList<UserDTO>();
    }

}

public class UserDTO {

    private String name;

}

Spring MVC Controller:

@Controller
@RequestMapping("secure/groups")
public class GroupsController {

    @RequestMapping(value = "create", method = RequestMethod.POST)
    public @ResponseBody ModelMap create(GroupDTO dto)
    {
        ModelMap map = new ModelMap();

        //CODE TO DO ANYTHING

        return map;
    }

}

1 个答案:

答案 0 :(得分:1)

改变这个:

<form method="post" action="group_create.php">
    <div>
        Name: <input type="text" name="name" />
        <br />
        <input type="text" name="users[0].name" value="753" />
        <br />
        <input type="text" name="users[1].name" value="752" />
        <br />        
        <input type="submit" value="Save" />
    </div>
</form>

对此:

<form method="post" action="group_create.php">
    <div>
        Name: <input type="text" name="name" />
        <br />
        <input type="text" name="users[0]" value="753" />
        <br />
        <input type="text" name="users[1]" value="752" />
        <br />        
        <input type="submit" value="Save" />
    </div>
</form>

表单不需要“.name”部分才能正常运行。