【问题标题】:Spring JSP disappears with <form:input>Spring JSP 随着 <form:input> 消失
【发布时间】:2016-03-09 20:18:26
【问题描述】:

所以我正在处理我的一个项目,当我尝试使用&lt;form:input&gt; 标签时,页面的内容似乎消失了。它只是一些内容,所以导航栏和外框仍然存在。我觉得这很奇怪,因为我可以在不同的页面上使用它。我不确定这个页面有什么问题

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


【解决方案1】:

您不需要为 form:form 标签指定 action 属性,因为它默认为当前 URL。接下来 form:input 的路径属性必须指定命令对象的属性,即 businessObjective

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

【讨论】:

  • 感谢您指出这一点,但这似乎不是问题。就是表单:具体是在表单中输入
猜你喜欢
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多