基于另一领域价值的JSP Spring MVC填充表单域

时间:2017-12-14 22:48:02

标签: java jquery spring jsp spring-mvc

我有一个Spring MVC表单,我在JSP中构建,需要在字段中输入帐号。当我输入该号码时,我想对数据库运行查询以撤回该特定号码的相关信息。然后,此数据将填充表单上的其他字段。

这是我在JSP中的Spring绑定代码,用于输入的帐号。因此,只要我输入此数字,就会触发数据库查询,以恢复其他字段的数据。

<spring:bind path="strExpenseAcctNum">
    <div class="form-group ${status.error ? 'has-error' : ''}">
        <label class="col-sm-2 control-label">Expense Account Number :</label>
        <div class="col-sm-10">
            <form:input path="strExpenseAcctNum" type="string" class="form-control " id="strExpenseAcctNum" placeholder="strExpenseAcctNum" />
            <form:errors path="strExpenseAcctNum" class="control-label" />
        </div>
    </div>
</spring:bind>

从我的研究中,我认为Javascript和JQuery的组合可能是最好的方法,但是在这方面是新的,我不知道如何配置它。

非常感谢任何帮助。

谢谢,

戴夫

1 个答案:

答案 0 :(得分:0)

@戴夫

首先使用spring form标签实现表单,如下所示。

<form:form method="POST" action="/spring-mvc-example" modelAttribute="example">
         <table>
            <tr>
                <td><form:label path="number">Account Number</form:label></td>
                <td><form:input path="number" id="number"/></td>
            </tr>
            <tr>
                <td><input type="submit" value="Submit"/></td>
            </tr>
        </table>
    </form:form>

然后使用Jquery的focusout方法在用户从帐号字段开始关注时立即在后台进行Ajax调用。然后在成功块中,只需解析它就可以使用jquery的val方法绑定到其他字段,如下所示。

$("#number").focusout(function(){
      $.ajax({
         type:"POST",
         url:"https://example.com/getDetails",
         success: function(data) {
             //Response from the controller comes here
             var json = JSON.stringify(data);
             //Bind it to fields like these
             $("#firstname").val(json.firstname);
         }
      });
});

希望这对你有用,如果有任何问题,请告诉我。