Java SpringWeb应用程序-获取表单数据-post方法
我试图从Form参数到DTO对象,我点击了按钮,但什么也没发生,似乎数据没有传输 为什么呢 控制辊:Java SpringWeb应用程序-获取表单数据-post方法,java,html,spring,spring-mvc,spring-data,Java,Html,Spring,Spring Mvc,Spring Data,我试图从Form参数到DTO对象,我点击了按钮,但什么也没发生,似乎数据没有传输 为什么呢 控制辊: @RequestMapping(value = "/scanRequest", method = RequestMethod.POST) public String scanRequest(@ModelAttribute("scanForm")UserRequestDTO userRequestDTO, BindingResult bindingResult, Model model) {
@RequestMapping(value = "/scanRequest", method = RequestMethod.POST)
public String scanRequest(@ModelAttribute("scanForm")UserRequestDTO userRequestDTO, BindingResult bindingResult, Model model) {
if (bindingResult.hasErrors()) {
return "home";
}
model.addAttribute("msg", userRequestDTO.getSellerName());
return "home";
}
DTO:
HTML格式:
<form:form method="POST" action="${contextPath}/requestlist" modelAttribute="scanForm" class="form-signin">
<h2 class="form-signin-heading">Create your account</h2>
<spring:bind path="seller_name">
<div class="form-group ${status.error ? 'has-error' : ''}">
<form:input type="text" path="seller_name" class="form-control" placeholder="Seller Name" autofocus="true"></form:input>
<form:errors path="seller_name"></form:errors>
</div>
</spring:bind>
<button class="btn btn-lg btn-primary btn-block" type="submit">Submit</button>
</form:form>
创建您的帐户
提交
更新错误:
org.apache.jasper.jaspereException:javax.servlet.ServletException:
javax.servlet.jsp.JspTagException:既不是BindingResult也不是plain
bean名称“scanForm”的目标对象可用作请求属性
更新错误-2
org.apache.jasper.jaspereException:
org.springframework.beans.NotReadablePropertyException:无效
bean类的属性“卖方名称”
[com.searcher.model.UserRequestDTO]:Bean属性“seller\u name”是
不可读或具有无效的getter方法:的返回类型
getter是否与setter的参数类型匹配
您的post入口点是
/scanRequest
,但您提交到/requestlist
时失败,因为您没有针对正确的映射方法
如果/requestlist
是控制器(包含方法scanRequest的控制器)的请求映射,请将表单更改为:
<form:form method="POST"
action="${contextPath}/requestlist/scanRequest"
modelAttribute="scanForm" class="form-signin">...
编辑2:
向模型中添加正确的getter:
public String getSellerName() {
return seller_name;
}
对于属性seller\u name
将其更改为
public String getSeller_name() {
return seller_name;
}
或让IDE自动生成它们 您的post入口点是
/scanRequest
,但您提交到/requestlist
时失败,因为您没有针对正确的映射方法
如果/requestlist
是控制器(包含方法scanRequest的控制器)的请求映射,请将表单更改为:
<form:form method="POST"
action="${contextPath}/requestlist/scanRequest"
modelAttribute="scanForm" class="form-signin">...
编辑2:
向模型中添加正确的getter:
public String getSellerName() {
return seller_name;
}
对于属性seller\u name
将其更改为
public String getSeller_name() {
return seller_name;
}
或让IDE自动生成它们 你说得对,在我更改它之后,它会给我一个错误(我把它添加到我的问题中)@Guyb检查我的编辑,伙计你的getter是错误的,约定是get+firtLetterto大写+你名字的其余部分attribute@Guyb不客气,你能把它标记为回答吗?你说得对,在我更改它后,它会给我一个错误(我把它添加到我的问题中)@伙计,检查我的编辑,伙计,你的getter是错误的,惯例是get+firtLetterto大写+你名字的其余部分attribute@Guyb不客气,你能把它标记为答案吗