我使用没有注释的spring mvc。 我想把jsp(html代码)作为来自ajax调用的响应。 我不想使用 response.getWriter()。print(..)。谁能告诉我任何其他解决方案。?
答案 0 :(得分:0)
您可以像这样使用ModelAndView返回JSP
@RequestMapping (
value = "/path/call",
method = RequestMethod.POST
)
@ResponseBody
public ModelAndView blah(....) {
return new ModelAndView("location to JSP file");
}
您可以使用以下方法将数据添加到MandV
/**
* Add an attribute to the model.
* @param attributeName name of the object to add to the model
* @param attributeValue object to add to the model (never {@code null})
* @see ModelMap#addAttribute(String, Object)
* @see #getModelMap()
*/
public ModelAndView addObject(String attributeName, Object attributeValue) {
getModelMap().addAttribute(attributeName, attributeValue);
return this;
}
答案 1 :(得分:0)
我强烈推荐阅读the documentation,如果没有真正的弹簧框架知识,你将很难使用它......正如已经提到的,你通常会有一个Controller
类处理requests
- 这些是用@RequestMapping
注释的,控制器当然是用@Controller
注释的。这是文档中的一个示例:
@Controller
@RequestMapping("/appointments")
public class AppointmentsController {
private final AppointmentBook appointmentBook;
@Autowired
public AppointmentsController(AppointmentBook appointmentBook) {
this.appointmentBook = appointmentBook;
}
@RequestMapping(method = RequestMethod.GET)
public Map<String, Appointment> get() {
return appointmentBook.getAppointmentsForToday();
}
@RequestMapping(value="/{day}", method = RequestMethod.GET)
public Map<String, Appointment> getForDay(@PathVariable @DateTimeFormat(iso=ISO.DATE) Date day, Model model) {
return appointmentBook.getAppointmentsForDay(day);
}
@RequestMapping(value="/new", method = RequestMethod.GET)
public AppointmentForm getNewForm() {
return new AppointmentForm();
}
@RequestMapping(method = RequestMethod.POST)
public String add(@Valid AppointmentForm appointment, BindingResult result) {
if (result.hasErrors()) {
return "appointments/new";
}
appointmentBook.addAppointment(appointment);
return "redirect:/appointments";
}
}
如您所见,请求现在半自动解析/传递给JSP解析器,JSP解析器处理存储的JSP并输出HTML。这被称为MVC
,尽管春天的MVC模型与标准观点略有不同,但它非常有用且有些标准化。
再一次:如果你想使用spring,请阅读文档。这很重要也很有用。
没有注释的spring mvc
几乎打败了整个概念。我认为你需要重新做你的应用程序设计,显然它是有缺陷的 - 没有冒犯,我只是陈述显而易见的。