gpt4 book ai didi

Spring 3 MVC : is it possible to have a spring form without 'commandName' binding?

转载 作者:行者123 更新时间:2023-12-04 13:24:01 24 4
gpt4 key购买 nike

我的问题是,是否有必要为表单设置“commandName”绑定(bind)和为输入设置“路径”绑定(bind)?

我有一个工作流程,需要用户从一系列 ajaxy 选择框中选择数据。所以表单并不能直接映射到任何模型。仅仅为了适应这种形式而添加另一个模型似乎毫无意义,而这种形式的一切都将由 ajax 驱动。
现在我知道我总是可以编写经典表单并选择标签,但我想在这里利用 spring 标签,例如:

<form:options items="${list}" itemLabel="name" itemValue="id"/>

这使我可以轻松地填充表单项。另外,我想保持项目的一致性并通过使用 Spring 标签。

我想知道关于这个话题的想法和意见。

谢谢!

PS:我来自 ruby​​ on rails 背景,习惯了很多语法糖:P 如果问题听起来很愚蠢或答案很明显,请原谅我。

最佳答案

我不知道它是否有用,但它是这样的:

如果您没有在表单中设置“commandName”,则该属性的默认值将设置为“command”。因此,如果您不设置它,则绑定(bind)的数据将具有名称“命令”。

如果需要,可以使用绑定(bind)数据的名称进行设置。

==================================================== =========================

不使用数据绑定(bind)的解决方案是:

我会在 Controller 方法中添加一个 HttpServletRequest 请求参数,并像 servlet 一样获取参数。

@Controller 
public class SomeController {

@RequestMapping(value = "/formAction", method = RequestMethod.POST)
public String controllerMethod(HttpServletRequest request){
// this way you get value of the input you want
String pathValue1 = request.getParameter("path1");
String pathValue2 = request.getParameter("path2");
return "successfulView";
}

}

PS.:“path1”和“path2”是您在输入中设置的路径名。
我知道它似乎没有正确使用 Spring,但它是 Spring 让我们使用的一个 hack。

表格是这样的:
<form:form method="post" action="/formAction">
<form:input path="path1" />
<form:input path="path2" />
<input type="submit" value="Submit"/>
</form:form>

希望它有用。

关于Spring 3 MVC : is it possible to have a spring form without 'commandName' binding?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com