【问题标题】:Neither BindingResult nor plain target object for bean name 'parametre'Bean 名称“参数”的 BindingResult 和普通目标对象都不是
【发布时间】:2016-03-11 11:11:41
【问题描述】:

我正在使用 spring MVC,所以基本上我正在创建一个论坛,它将一个文件和 radioButton 作为输入: form_li.jsp:

<f:form  id="form1"
         name="form1"
         modelAttribute="parametre"
         action="${addTreat}"
         method="POST"
         enctype="multipart/form-data">

    <table>
        <tr>
            <td>xslx File : </td>
            <td>
                <f:input id="filepd" path="fileCom" name="filepd"  type="file" />
            </td>
        </tr>

        <tr>
            <td>Choice </td>
            <td>
                <div>
                    <f:input id="az" name="az" path="choice" type="radio" value="false" />
                    <label for="az">1</label>
                    <f:input id="aj" name="aj"  path="choice" type="radio" value="true"/>
                    <label for="aj">2</label>
                </div>
            </td>
        </tr>

        <tr>
            <div align="center">
                <f:input type="submit" value="Validate" path="" />
            </div>
        </tr>
    </table>
</f:form>

对于我的控制器:

@RequestMapping(value="/addTreat", method= RequestMethod.POST)
public String addTr(HttpServletRequest req,
        BindingResult result,
        ModelMap model,
        @RequestParam("parametre") Parametre parametre) {

    model.addAttribute("parametre", new Parametre());
    return form_li;
}

对于 Parametre.java 类:

public class Parametre {

    private String choice;
    private MultipartFile fileCom;
    //getters and setters
    //default constructor
}

我的问题是在运行应用程序并转到 /addTreat url 时。我得到了著名的既不是 BindingResult 也不是普通目标对象的 bean 名称“参数”可用作请求属性。我尝试了多种解决方案,但我不工作。请任何人帮助解决这个问题。

【问题讨论】:

    标签: java spring spring-mvc exception


    【解决方案1】:

    这里乱七八糟的东西,我建议你阅读一些modelAttribute的例子,有几十个,甚至在官方的spring文档上。看起来您将模型对象与简单的请求参数混淆了,对于第二个您甚至不需要BindingResult。您的表单操作的语法也不正确。

    action="${addTreat}"改成action="/addTreat"

    【讨论】:

    • 没有 action="${addTreat}" 我得到错误 404。对于 modelAttribute 我已经抛出了多个教程,我不知道我在哪里错过了这一点。
    • @hamzaspecter 我认为您不接受您在stackoverflow.com/questions/35915201/… 中发布的问题已通过指定解决的事实。我看到你的接受率很低,这就是为什么我什至没有兴趣发布答案。
    • @Bazz 跟动作无关
    • @PragnaniKinnera 我很抱歉,我的朋友,我忘了接受它作为解决方案。
    猜你喜欢
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多