我的问题与使用Spring MVC的模型信息填充引导模式有关。具体来说,由于模态激活按钮没有"击中"一个新的URL,但只激活现有页面上的模态,如何调用控制器方法以使用所需信息填充模型?
此外,如何以这样的方式返回填充的模型,即用户保留在当前页面上并且模态本身保持打开状态(页面未重新加载)?
我正在尝试创建时间表应用程序,并希望使用模式显示用户可以添加到其时间表的工作项列表。我还想在模态中包含一个搜索功能,这意味着需要对模型进行更新而不重新加载整个页面的控制器的附加调用。
我当前的控制器方法的形式如下:
// Browser must hit his specific URL
@RequestMapping(value = "/timeSheets", params = { "weekOf" })
public ModelAndView getTimeSheetForWeek(@RequestParam(value = "weekOf") String weekOf) {
// convert date string and get info from DB
timeSheet = ...;
// populate the model
model.addAttribute("timeSheet", timeSheet);
// return using a ModelAndView object (redirect/page reload)
return new ModelAndView(TIME_SHEET_DETAILS_URL, model);
}
以前有人做过这样的事吗?我有使用bootstrap和spring MVC的经验,但不是在这个级别。
非常感谢。
答案 0 :(得分:1)
您需要向控制器发送AJAX调用。它是一种基于JavaScript的技术,可让您发送HTTP请求,并通过JavaScript操作响应,通常用于更新网页的一部分。这样,您最终会获得部分页面更新,不包括浏览器重定向。
网上有很多资源,但是下面的答案为你提供了一个很好的迷你入门,How to use Servlets and Ajax?,服务器端不是直接基于Spring MVC,而是基于servlet,但概念是相同的。