如果用户在jsp中填充一个字段(使用spring mvc和hibernate时),如何自动填充其他表单字段

时间:2014-10-24 14:04:58

标签: javascript jquery hibernate jsp spring-mvc

我正在使用spring mvc和Hibernate。我有两个实体“项目”和员工,它们是两者之间的双向一对多映射。我能够将数据库中的现有员工添加到项目中。但我现在想要当用户在jsp中填写员工的表单字段时,它会自动显示所有员工的名称,当选择员工时,其他字段会自动设置。我怎样才能做到这一点。 我是春季mvc和jquery的新手。

我的jsp将员工添加到项目

addEmployee.jsp     

<form:form modelAttribute="employeeAttribute" method="POST" action="${Url}">
<table>

    <tr>
        <td>ProjectId:</td>
        <td><input type="text" value="${projectId}" />
    </tr>

    <tr>
        <td><form:label path="employeeId"></form:label></td>
        <td><form:input path="employeeId" type="hidden"/></td>
    </tr>

    <tr>
        <td><form:label path="employeeName">Employee Name:</form:label></td>
        <td><form:input path="employeeName"/></td>
    </tr>
    <tr>
        <td><form:label path="designation">designation:</form:label></td>
        <td><form:input path="designation"/></td>
    </tr>
    <tr>
        <td><form:label path="department">department:</form:label></td>
        <td><form:input path="department"/></td>
    </tr>
    <tr>
        <td><form:label path="password">password:</form:label></td>
        <td><form:input path="password"/></td>
    </tr>
    <tr>
</table>

<input type="submit" value="Save" />
</form:form>
表单填写后,

控制器中的相应操作

@RequestMapping(value="/add",method = RequestMethod.GET)
public String getAdd(@RequestParam("id")Integer projectId,Model model){

    Employee emp = new Employee();

    model.addAttribute("projectId",projectId);
    model.addAttribute("employeeAttribute",emp);

    return "addEmployee";
}

@RequestMapping(value="/add", method = RequestMethod.POST)
public String postAdd(@RequestParam("id")Integer projectId,@ModelAttribute("employeeAttribute")Employee employee) throws IOException{

    Employee emp = employeeService.getEmployeeByName(employee.getEmployeeName());
    if(emp==null){
        return "Error";
    }
    else{
        employeeService.add(projectId,emp);
        return "redirect:/project3/list";
    }
}

1 个答案:

答案 0 :(得分:2)

您可以使用javascript为包含onChange()的选择框编写user list的事件。使用ajax,您可以将用户ID发送到控制器

这样您就可以获取与用户关联的属性并将其放入request。 ajax成功后,使用从数据库中提取的相应值填充字段。

一些不错的创业示例​​herehere

详细了解jquery-ajax