Java 没有命令名的Spring表单

Java 没有命令名的Spring表单,java,spring,jakarta-ee,spring-mvc,Java,Spring,Jakarta Ee,Spring Mvc,我是春天的新手,我有个问题。我有一个表单,用于向控制器发送信息。我不需要或不想让bean备份表单,因此我将表单中的commandName属性留空,如下所示: <form:form action="getReportFile.html" method="post"> <table> <tr> <td><form:label path="field1"

我是春天的新手,我有个问题。我有一个表单,用于向控制器发送信息。我不需要或不想让bean备份表单,因此我将表单中的
commandName
属性留空,如下所示:

<form:form action="getReportFile.html" method="post">
            <table>
                <tr>
                    <td><form:label path="field1">Field1:</form:label></td>
                </tr>
                <tr>
                    <td><form:select path="field1" items="${FieldMap}" />                        
                    </td>
                </tr>
               <tr>
                   <td><form:label path="field2">Field2:</form:label></td>
               </tr>
               <tr>
                   <td><form:input path="field2"/></td>
               </tr>
               <tr>
                   <td><input type="submit" value="Submit" /></td>
               </tr>
           </table>
       </form:form>
我可以看到,当您不给
commandName
赋值时,它使用默认的
'command'
,但是,我还需要配置其他东西吗?我应该在
dispatcherservlet.xml
中放入
'command'
bean吗?那豆子怎么样?


我只需要一张表格把信息发送给控制器我真的需要创建一个bean来支持它吗?

我不知道在SpringMVC中是否有可能创建一个没有支持bean的表单,但我认为如果不使用bean,您将无法从SpringMVC中获得太多好处。您正在使用的那些表单标记(如form:input)绑定到支持bean的属性,这允许您附加验证、错误消息、类型转换等内容。您的目的只是将表单发布到Spring控制器,并使用类似“request.getParameter('field1')”的代码处理服务器上的所有表单字段吗?然后我建议只使用普通的HTML表单。

如果您根本不需要命令对象,那么就避免使用Spring表单,而只使用HTML表单

所以,改变

<form:form action="getReportFile.html" method="post">
     .
     .
     .
</form:form>

.
.
.


.
.
.
命令对象确实不是必需的。仅当您使用Spring的表单(如使用以下库的
)时,它才是必需的

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>

如果使用HTML表单,则必须使用
request.getParameter(“paramName”)
方法接收请求参数


如果没有表单支持bean,就不能使用Spring 标记,因为它确实需要一个!上的“路径”属性 该标记应该指定模型bean属性的路径 用于数据绑定


不客气。如果您需要使用类似于
HibernateValidator
的东西进行服务器端验证,那么您必须拥有@jfrank在其回答中描述的支持bean。曾几何时,我还要求避免使用支持bean(实际上不需要支持bean,因为JSP页面上的所有内容都是由SpringJSON处理的)。非常简单,但显然非常少见。每个教程都使用form:form,这带来了很多不常解释的绑定负担。我认为想要一个与模型无关的表单(例如搜索表单、联系人表单)并不少见,但几乎没有教程介绍它。@Lion,您好,我使用的是普通的HTML表单和输入标记,如
。但是我的request.getParameter(“someInput”)总是返回null。有什么想法吗?事实上,另一个问题是这个问题的复制品,就像以前问过的一样:)@SotiriosDelimanolis
<form action="getReportFile.html" method="post">
     .
     .
     .
</form>
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>