在jsp中调用控制器onclick

时间:2016-06-26 16:25:54

标签: javascript java spring jsp

我正在使用spring web应用程序,在jsp文件中我必须使用ajax函数调用java文件中的控制器,我怎样才能从jsp文件中调用java文件中的控制器。

<p class="bottom-slide-corners">
                            <a class="billing" href="#Billing"><spring:message code="billing_area" /></a>
                        </p>


$('.billing').on('click', function(event) {
            clearSliderInterval();
            var $this = $(this);
            var $linkToFind = $($this.attr("href") + "_billing");
            var $slidesToFind = $("." + $this.attr("href").replace("#", "") + "_slide");

            if($this.parent().parent().siblings('.current-arrow').find('img').is(":visible")) {
                $this.parent().parent().siblings('.current-arrow').find('img:visible').slideUp();
                $('.Background').slideUp(function() {
                    $(".learn_more").hide();
                }).removeClass("open");
                return false;
            }

            if($window.width() <= 767) {
                $('#dashboard-mobile-banner, #header-bg, #footer-container, .container-slider').slideUp();

                var categoryClass = $linkToFind.attr('id').replace("learnMore", "slide");
                $('.courseDashboard').removeClass().addClass("courseDashboard Background " + categoryClass);
                $('body, html').animate({ scrollTop: 0 }, "fast");
            }

            if($('.learn_more').is(":visible")) {
                $('.Background').slideUp(function() {
                    $('.learn_more').hide();
                    $linkToFind.show();
                    $('.Background').slideDown();
                });
            } else {
                $linkToFind.show();
                $('.Background').slideDown(function() {
                    if ($window.width() <= 767) {
                        var slider = $("#" + $linkToFind.attr('id') + " .thumbview").bxSlider({
                            slideWidth: 300,
                            pager: false
                        });
                        $('.close-panel:visible').on('click', function(e) {
                            slider.destroySlider();
                        });
                    }
                }).addClass("open");
            }

            $('.current-arrow img:visible').slideUp();
            $slidesToFind.find('.current-arrow img').slideDown();
            return false;
        });

这里点击我想调用.java文件中的控制器,如何在jsp文件代码中调用此控制器,点击

    @RequestMapping(value = "/billing", method = RequestMethod.POST)
    public String Billing(@RequestParam Long caseId,
            @RequestParam Long noteID, HttpServletRequest request)  throws Exception {
        try{

----------
            logger.debug("success ");
        return "success";
        } catch (Exception e) {
            logger.error(e,e);
            throw e;
        }}

1 个答案:

答案 0 :(得分:1)

你可以这样做......它将100%工作:)。

(".billing").on('click',function(){
    $.ajax({url:"/billing", success: function(result){

    }});
}) 

在JSONObject给出的地图中返回您的成功字符串,将您的密钥保留为“结果” 和“成功”作为你的字符串。你在控制器中写的这样的东西

`JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("result", "success");
String myResult= jsonObject1.toString();
response.getWriter().write(myResult);`           

如您所见,我添加了resp.getWriter()。它会将响应发送回您的控制器。另外,请在方法public String Billing方法中添加响应对象HttpServletResponse resp,就像添加了HttpServletRequest request一样。不要在Controller中添加return语句,并将控制器方法标记为void这将100%有效。如果有帮助,请告诉我! :)