相当于FreeMarker
类FreeMarkerTemplateUtils.processTemplateIntoString
的JSP,它接受两个参数(模板模板,对象模型)。
使用FreeMarker,代码如下:
public String getReport(ModelMap model) throws Exception {
model.addAttribute("name", "tim");
String template = "testing.ftl";
String htmlStr = FreeMarkerTemplateUtils.processTemplateIntoString(
freemarkerConfig.getConfiguration().getTemplate(template),
model);
// ...
}
如何使用JSP实现上述目标?
答案 0 :(得分:0)
使用JSP有两种选择:
1)填写模型并返回视图的逻辑名称
2)创建并返回ModelAndView
对象
控制器 - 选项1
public String getReport(Model model) throws Exception {
model.addAttribute("name", "tim");
//you should have testing.jsp
return "testing";
}
控制器 - 选项2
public ModelAndView getReport(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
ModelAndView modelAndView = new ModelAndView("testing");
modelAndView.addObject("name", "tim");
return modelAndView;
}
在两种方式中,视图(JSP页面)都可以访问模型数据,如下所示。
<强> testing.jsp 强>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>
<p>${name}</p>
</body>
</html>