所以我正在开发一个我的项目,当我尝试使用<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中删除时,它似乎正在工作,但显然我想要表单,当我添加它时,页面的内容就会消失。 希望有人能帮助我,非常感谢
答案 0 :(得分:0)
您无需为表单指定action属性:form标签,因为它默认为当前URL。接下来是form的path属性:input必须指定命令对象的属性,即businessObjective
请注意,您的操作属性无法指定URI模板变量。