Spring JSP与<form:input>

时间:2016-03-09 20:18:26

标签: spring jsp spring-mvc

所以我正在开发一个我的项目,当我尝试使用<form:input>标签时,页面的内容似乎消失了。它只是一些内容,因此导航条和外框保持不变。我觉得这很奇怪,因为我可以在不同的页面上使用它。我不确定这个页面有什么问题

JSP:

<div>
    <form:form method="POST" commandName="businessObjective" action="${pageContext.request.contextPath}/bodashboard/{id}" class="form-inline">
        <div class="form-group">
            <div class="input-group">
                <form:input path="businessObjective" type="text" class="form-control"></form:input>
            </div>
        </div>
        <button type="submit" class="btn btn-primary">Add Business Objective</button>
    </form:form>
</div>

控制器:

@RequestMapping(value = {"/bodashboard/{id}"}, method = RequestMethod.GET)
    public String showBoInWorkshop(
            WebRequest request,
            @PathVariable int id,
            ModelMap model
    ) {
        Workshop workshop = workshopService.findById(id);
        BusinessObjective bo = new BusinessObjective();

        String user = SecurityContextHolder.getContext().getAuthentication().getName();
        User userObj = userService.findByUsername(user);
        int userId = userObj.getId();

        model.addAttribute("bo", bo);

        model.addAttribute("workshop", workshop);
        model.addAttribute("user", userObj);

        return "participant/workshop/bodashboard";
    }

    @RequestMapping(value = "/bodashboard/{id}", method = RequestMethod.POST)
    public String processBOform(

            @ModelAttribute("businessObjective") BusinessObjective businessObjective,
            @PathVariable int id,
            BindingResult result
    ) {
        if (result.hasErrors()) {
            return "participant/workshop/bodashboard";
        }

        String user = SecurityContextHolder.getContext().getAuthentication().getName();
        Workshop workshop = workshopService.findById(id);

         BOService.addBO(businessObjective, workshop, user);
         BOService.save(businessObjective);

        return "participant/workshop/bodashboard";

    }

说清楚:当我把它从.jsp中删除时,它似乎正在工作,但显然我想要表单,当我添加它时,页面的内容就会消失。 希望有人能帮助我,非常感谢

1 个答案:

答案 0 :(得分:0)

您无需为表单指定action属性:form标签,因为它默认为当前URL。接下来是form的path属性:input必须指定命令对象的属性,即businessObjective

请注意,您的操作属性无法指定URI模板变量。