我正在使用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;
}}
答案 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%有效。如果有帮助,请告诉我! :)