【问题标题】:Retrieving HttpServeletRequest parameter inside Spring MVC Model Form在 Spring MVC 模型表单中检索 HttpServeletRequest 参数
【发布时间】:2019-01-07 06:01:57
【问题描述】:

我想从一个字段中检索值,该字段不是在我的控制器的 spring mvc 表单标签的模型属性参数处设置的模型的一部分。我很困惑如何做到这一点。这是我的jsp文件:

    <!-- need to associate this data with invoice id -->



        <table style="border-collapse: collapse;">

            <tbody>

                <tr>
                    <td><label>ID:</label></td>
                    <td style=" padding-top: .8em; padding-bottom: .8em;"><form:input path="Id" /></td>
                    <td><form:errors class="error" path="Id"/></td>

                </tr>

            **<!-- I want to retrieve the value from form:select tag which do not have path in the model class-->**     

                <tr>
                    <td><label>Customer ID:</label></td>
                    <td><form:select style="width:260px; height:28px;" 
            path=""  id="theCustomerId" onchange="doAjax()">
                        <form:options items="${CustomerIDList}"/>
                        </form:select></td>

我已经尝试通过设置名称并将其发送到控制器并通过 getparameter 检索 HttpServletRequest 但这会引发空指针异常。

【问题讨论】:

    标签: java spring spring-mvc jsp data-binding


    【解决方案1】:

    已编辑:请验证您是否尝试过如下设置名称。

    在 jsp 页面上试试这个。

     <form:select style="width:260px; height:28px;" 
            path=""  id="theCustomerId" name="theCustomerId" onchange="doAjax()">
    

    然后在你的控制器上试试这个

    String theCustomerId = request.getParameter("theCustomerId");
    

    【讨论】:

    • 不,它不是隐藏字段。它是模型表单中的一个字段。问题是该字段不是模型的属性,因此它没有路径值。我已经通过设置字段的名称并使用 get 参数检索它来尝试这个,但它会引发空指针异常。
    • 抱歉,让我探索更多信息...模型表单内的字段,是显示还是在表单内:select,选择器? @AsadJivani
    • 还有一件事,如何将字段传递给控制器​​?是常规表单->提交还是doAjax()。如果使用doAjax(),那么如果在jsp中设置name就不行,而是需要在doAjax()中设置。
    • doAjax() 用于其他内容,它像普通表单一样提交:表单,是的,该字段是表单:选择我想在不使用模型的情况下检索其选定的值,因为它不是模型的一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多