2

我正在使用 postgres 开发 Spring API,我想在 jquery 中创建带有少量动画的表单,并且我想将表单数据提交到数据库表。无论如何不使用弹簧形式?或者我可以将 jquery ajax 调用操作添加到 spring 表单中吗?

我的 jquery 页面可以很好地与所有 ajax 自动填充作为一个独立的组件一起正常工作。但是我现在想与 spring 集成,这样当我提交表单时,数据会使用 hibernate 发布到数据库中。

是否可以在春季使用相同的jquery页面?任何人都可以提出一些建议吗?

    @RequestMapping(method = RequestMethod.GET)
public ModelAndView getVisitor() {

    return new ModelAndView("visitor", "command", new Visitor());
    // return "visitor";
}

@RequestMapping(method = RequestMethod.POST)
public String addVisitor(@ModelAttribute("visitor")Visitor visitor,
        ModelMap model) {
    System.out.println(visitor.getComment());
    String resp = visitorService.add(visitor);
    return resp;
}
}

我的控制器中有这个,一旦我提交表单,它就会尝试发布到 addVisitor 但访问者对象为空。

<form action="visitor" method="post" class="fancy-form">

        <div class="">
            <input type="text" maxlength="50" id="name" name="name" /><label
                for="name">Name: </label>
        </div>
        <fieldset name="address">
            <legend>Address</legend>
            <p class="instructions">Start by entering your zip code.</p>
            <div>
                <div>
                    <input type="text" name="street1" id="street1"><label
                        for="street1">Street #1</label>
                </div>
            </div>
            <div>
                <div>
                    <input type="text" name="street2" id="street2"> <label
                        for="street2">Street #2</label>
                </div>
            </div>
            <div>
                <div class="city-wrap">
                    <input type="text" name="city" id="city"> <label
                        for="city">City</label>
                </div>
                <div class="county-wrap">
                    <input type="text" name="county" id="county"> <label
                        for="county">County</label>
                </div>
                <div class="state-wrap">
                    <input type="text" name="state" id="state"> <label
                        for="state">State</label>
                </div>

                <div class="zip-wrap">
                    <input type="text" pattern="[0-9]*" maxlength="5" required
                        name="zip" id="zip"> <label for="zip">Zip</label>
                    <p class="zip-error">Not a real zip code.</p>

                </div>


            </div>

        </fieldset>
        <div>
            <input type="button" id="go" value="Find Me" />
        </div>

        <div class="">
            <label for="comment">Comment: </label>
            <textarea id="comment" name="comment" rows="4" cols="50"
                maxlength="2000">Enter comment here...</textarea>
        </div>
        <div>
            <input type="submit" value="Submit" />
        </div>
    </form>
4

1 回答 1

2

序列化你的表单数据了吗?

$.ajax({type:'POST', url: 'post_action_url', data:$('#FormId').serialize(), success: function(response) { 
//response here
}});
于 2013-01-15T21:07:43.100 回答