Java SpringWeb应用程序-获取表单数据-post方法

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) {

我试图从Form参数到DTO对象,我点击了按钮,但什么也没发生,似乎数据没有传输

为什么呢

控制辊:

@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不客气,你能把它标记为答案吗