我是Spring的新手,我有个问题。我有一个表单,用于向控制器发送信息。我不需要或不想让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>
我得到以下错误:
java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command' available as request attribute
我可以在这里看到,当你不给一个值命令名称
它使用默认的'命令'
,但是,我必须配置任何其他东西吗?我应该把一个命令
bean放在dispatcher-servlet.xml
中吗?那豆子怎么会?
我只需要一张表格把信息发送给控制器。我真的需要创建一个bean来支持它吗?
我不知道是否有可能在SpringMVC中创建一个没有支持bean的表单,但我认为如果不使用bean,您将无法从SpringMVC中获得很多。您正在使用的那些表单标记(如form:input)绑定到支持bean的属性,这允许您附加验证、错误消息、类型转换等内容。您的目的只是将表单发布到Spring控制器,并使用类似“request.getParameter('field1')”的代码处理服务器上的所有表单字段吗?然后我建议只使用一个简单的HTML表单。
如果您根本不需要命令对象,那么就避免使用Spring表单,只需使用HTML表单即可。
所以,改变
<form:form action="getReportFile.html" method="post">
.
.
.
</form:form>
到
<form action="getReportFile.html" method="post">
.
.
.
</form>
命令对象确实不是强制性的。这是强制性的,只有当你使用Spring的形式,如
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
如果使用超文本标记语言表单,则必须使用
request.getParameter(参数名)
方法接收请求参数。
如果没有表单支持bean,就不能使用Spring标记,因为它确实需要一个!该标记上的“path”属性应该指定数据绑定的模型bean属性的路径。
http://forum.springsource.org/showthread.php?83532-如何在没有命令对象的情况下创建窗体
发送表单数据时使用命令名称和模型属性有什么区别? 和 我应该在哪个时间点使用它们中的任何一个?
我在jsp文件中有此表单: 这个广告表单类: 在相应的控制器中,我使用此参数接收数据: 问题是当csrf在sping-security.xml被禁用它的工作正常-我可以看到选择的文件在广告orm.get图像(),但当我启用csrf它停止工作: 我试图通过以下步骤解决这个问题: > 我定义了filterMultipartResolver:
问题内容: Controller @Spring : 问题答案: 我的方法存在问题: 我为MultiPartResolver创建了一个bean。解决问题后的理解是,仅当你需要特定类型的文件或非常特定于应用程序的文件时,才定义此bean。尽管我希望对此有更多了解,并希望能从stackoverflow的技术人员那里听到。 当前问题的解决方案: 我会给出我的源代码, HTML: AngularJS: s
问题内容: 如果我有这样的表格: 如何提交而不通过JavaScript / Jquery重定向到另一个视图?我从StackOverflow阅读了很多答案,但是所有这些答案都将我重定向到POST函数返回的视图。 问题答案: 为了实现您想要的,您需要使用jquery ajax,如下所示: 更新:( 基于下面的评论) 试试这个: UPDATE 2 (OP添加了此部分,因为这是他的最终解决方案) 这完美无
我正在学习Spring Boot Security入门第五部分,以保护我的RESTful微服务。 我打算实现的简单流程是:- > 如果未经身份验证,用户将被重定向到一个自定义登录页,地址是'/login'。 用户提供他的凭据。 上面提到的链接中的入门指南使用了在。properties或。yml文件中配置的基本Auth和虚拟用户。 这是我尝试配置的方式:- 单击授权endpoint会将我重定向到“h
我在我的Spring Boot应用程序中使用Spring Security,似乎Thymeleaf授权无法正常工作。 我有一个带有以下代码的Thymeleaf模板: 举例如下:https://github.com/thymeleaf/thymeleaf-extras-springsecurity 但是,显示的唯一内容是和,并且无论用户的角色如何,授权始终被忽略。 我的胸腺配置是: 我对使用以下依赖