Java Spring框架,从JSP调用方法而不重新加载或加载页面
我是春天的新手。我有一个jsp项目,可以做很多事情。每次点击按钮都与一种方法(addMoney、selectItem、confirm等)相关联。我想使用Spring调用这些java方法,而不用在每次调用后重新加载页面。这可能吗?如果不可能,那么每次在模型中返回JSP中所需的每个变量的最佳实践是什么?这就是我现在处理它的方式,我的控制器方法看起来都一样,除了一两行。举例如下:Java Spring框架,从JSP调用方法而不重新加载或加载页面,java,spring,jsp,spring-mvc,controller,Java,Spring,Jsp,Spring Mvc,Controller,我是春天的新手。我有一个jsp项目,可以做很多事情。每次点击按钮都与一种方法(addMoney、selectItem、confirm等)相关联。我想使用Spring调用这些java方法,而不用在每次调用后重新加载页面。这可能吗?如果不可能,那么每次在模型中返回JSP中所需的每个变量的最佳实践是什么?这就是我现在处理它的方式,我的控制器方法看起来都一样,除了一两行。举例如下: @RequestMapping(value = "/addQuarter", method = RequestMethod
@RequestMapping(value = "/addQuarter", method = RequestMethod.GET)
public String addQuarter(HttpServletRequest request, Model model) {
service.addQuarter();
List<Item> itemList = service.getAllItems();
model.addAttribute("itemList", itemList);
model.addAttribute("change", service.displayCurrency());
model.addAttribute("message", "Quarter added");
model.addAttribute("changeDisplay", "");
model.addAttribute("selectedItem", service.selectItemById(Integer.parseInt(request.getParameter("id"))));
return "index";
}
@RequestMapping(value = "/addDime", method = RequestMethod.GET)
public String addQDime(HttpServletRequest request, Model model) {
service.addDime();
List<Item> itemList = service.getAllItems();
model.addAttribute("itemList", itemList);
model.addAttribute("change", service.displayCurrency());
model.addAttribute("message", "Dime added");
model.addAttribute("changeDisplay", "");
model.addAttribute("selectedItem", service.selectItemById(Integer.parseInt(request.getParameter("id"))));
return "index";
}
@RequestMapping(value=“/addQuarter”,method=RequestMethod.GET)
公共字符串addQuarter(HttpServletRequest请求,模型){
service.addQuarter();
List itemList=service.getAllItems();
model.addAttribute(“itemList”,itemList);
model.addAttribute(“change”,service.displayCurrency());
model.addAttribute(“消息”,“添加季度”);
model.addAttribute(“changeDisplay”,即“”);
model.addAttribute(“selectedItem”,service.selectItemById(Integer.parseInt(request.getParameter(“id”)));
返回“索引”;
}
@RequestMapping(value=“/addDime”,method=RequestMethod.GET)
公共字符串AddQTime(HttpServletRequest请求,模型){
service.addDime();
List itemList=service.getAllItems();
model.addAttribute(“itemList”,itemList);
model.addAttribute(“change”,service.displayCurrency());
model.addAttribute(“消息”,“添加了一角”);
model.addAttribute(“changeDisplay”,即“”);
model.addAttribute(“selectedItem”,service.selectItemById(Integer.parseInt(request.getParameter(“id”)));
返回“索引”;
}
您的@Controller
中的方法返回一个页面,其中包含可以在jsp中使用的模型中的信息。这在服务器端解决,并将html返回到浏览器
如果要修改页面而不重新加载完成页面,则必须使用AJAX
,为此,@Controller
中的方法必须更改并响应消息体中的信息,例如JSON
例如:
@应答器
@RequestMapping(value=“/addQuarter”,method=RequestMethod.GET)
公共列表addQuarter(HttpServletRequest请求,型号){
service.addQuarter();
List itemList=service.getAllItems();
返回项目列表;
}
尝试使用ajax调用