使用form:input为Spring MVC编写表单的正确方法是什么?

时间:2014-09-08 00:02:02

标签: java forms spring-mvc

目标

我想在Spring MVC中编写一个表单并使用form:input consistent

<form:form method="post" action="/insertChapter" modelAttribute="Chapter">
<form:input type="hidden" path="chapter" value="${info.chapter}"/>
<form:input path="title" />
<form:input type="submit" value="Insert" />
</form:form>

控制器:

@RequestMapping("/insertChapter")
public String insertChapter(@ModelAttribute Chapter chapter) {
    if (chapter != null)
        infoService.insertChapter(chapter.getChapter(), chapter.getChapter());
        return "redirect:/getInfoListList";
}

但是服务器抱怨道:

  

infoListList.jsp(第83行,第7列)根据TLD或标记文件,标记输入必须使用属性路径

第83行是表格形式:输入类型=&#34;提交&#34; ...

问题

那么编写这个jsp表单的正确方法是什么?我知道如何使用没有形式的表单来编写:输入。 form:input和just input之间有什么区别?它是否被认为是一种很好的混合形式:输入和输入(用于提交按钮)?

1 个答案:

答案 0 :(得分:3)

你不能使用“form:input”标签来提交表格。 要提交表单,您应该使用“form:button”标签 或者你可以使用带有type =“submit”的html“input”标签。

<body>
<form:form modelAttribute="pizza" action="add" method="POST">

    Pizza name:<form:input path="name" />
    <br>
    <br>
    Pizza price:<form:input path="price" />
    <br>
    <br>
    Select Base<form:select id="baseList" path="base" items="${baseList}"
        itemLabel="name" itemValue="baseId"></form:select>
    <br>
    <br>
    Select Toppings
    <form:checkboxes items="${toppingList}" itemLabel="name"
        itemValue="toppingId" path="toppings" />

    <form:button>Submit</form:button>
</form:form>