【发布时间】:2016-03-09 20:18:26
【问题描述】:
所以我正在处理我的一个项目,当我尝试使用<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 中删除时,它似乎正在工作,但显然我想要表单,当我添加它时,页面的内容就会消失。 希望任何人都可以帮助我,非常感谢
【问题讨论】:
-
jsp 顶部是否有正确的表单标签库定义?示例:springframework.org/tags/form" prefix="form"%>
-
我愿意,是的。肯定检查了那个。我的是:springframework.org/tags/form" %>
-
路径值不应该是命令对象的属性吗?我看到你有命令和路径都指向同一个对象。
-
我认为您在这里混淆了很多东西,请阅读此tutorialspoint.com/spring/spring_mvc_form_handling_example.htm
标签: spring jsp spring-mvc