在这种模板开发框架里面是不提倡使用内置对象的,但是很多的开发者依然需要使用内置对象进行处理,所以下面来看下如何在页面中采用内置对象的方式完成。
在控制器里面追加一个方法, 这个方法将采用内置对象的形式传递属性
package cn.mldn.microboot.controller;import java.util.Date;import javax.servlet.http.HttpServletRequest;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import cn.mldn.microboot.util.controller.AbstractBaseController;import cn.mldn.microboot.vo.Member;@Controllerpublic class MessageController extends AbstractBaseController {@RequestMapping(value = "/message/inner", method = RequestMethod.GET) public String inner(HttpServletRequest request, Model model) { model.addAttribute("url", "www.baidu.cn"); return "message/message_show_inner"; }}
其中model传递的本质就属于request属性范围
2、编写页面进行内容的显示:
src/main/view/templates/message
message_show_inner.html
SpringBoot模板渲染
而后此时也可以使用"*{属性名称}"进行访问
SpringBoot模板渲染
3、修改程序现在传递三种属性范围:
@RequestMapping(value = "/message/inner", method = RequestMethod.GET) public String inner(HttpServletRequest request, Model model) { request.setAttribute("requestMessage", "mldnjava-request"); request.getSession().setAttribute("sessionMessage", "mldnjava-session"); request.getServletContext().setAttribute("applicationMessage", "mldnjava-application"); model.addAttribute("url", "www.mldn.cn"); request.setAttribute("url2", "www.mldn.cn"); return "message/message_show_inner"; }
SpringBoot模版渲染
4、而后在页面之中如果想要访问不同属性范围中的内容,则可以采用如下的做法完成
thymeleaf 考虑到了实际的开发情况,因为 request 传递属性是最为常用的,但是 session 也有可能
使用,例如:用户登录之后需要显示用户 id,那么就一定要使用到 session,所以现在必须增加属性范围的 形式后才能够正常使用。在 thymeleaf 里面也支持有 JSP 内置对象的获取操作,不过一般很少这样使用。现在会将所有可能显示出的内容全部重新做了一个模板的重新的改写