Thymleaf如何实现JSTL对httpsession中对象的空值判断
<c:choose>
<c:when test="${empty login}">
<li><a href="../index/loginUI.do"><i class="fa fa-user"></i>注册/登录</a>
</li>
</c:when>
<c:otherwise>
<li><a href="../index/mycenter.do"><i class="fa fa-user"></i>个人中心</a></li>
<li><a href="../index/logout.do"><i class="fa fa-user"></i>退出登录</a>
</li>
</c:otherwise>
</c:choose>
这是我在JSTL中写的,可以成功运行,无任何异常
<li><a th:href="@{/login/loginUI}" th:if="${#httpSession.login}eq null"><i class="fa fa-user-md"></i>管理员登陆</a>
</li>
<li><a th:href="@{/index/loginUI}" th:if="${#httpSession.login}eq null"><i class="fa fa-user"></i>注册/登录</a>
</li>
<li><a th:href="@{/index/mycenter}" th:unless="${#httpSession.login} eq null"><i class="fa fa-user"></i>个人中心</a></li>
<li><a th:href="@{/index/logout}" th:if="${#httpSession.login} ne null"><i class="fa fa-user"></i>退出登录</a>
</li>
但是我在thymleaf中使用时总是无法找到login
然后是我的java代码
@RequestMapping("/index")
public ModelAndView index(HttpServletRequest request, HttpServletResponse response) {
Page page = new Page("filter_form");
page.setPageSize(8);
String currentPage = request.getParameter("page.currentPage");
if (StringUitl.IsNotNull(currentPage)) {
page.setCurrentPage(Integer.parseInt(currentPage));
}
//拼装map进行查询
Map<String, Object> map = new HashMap<String, Object>();
map.put("page", page);
List list = changguanService.getForPage(map);
//展示的数据
request.setAttribute("list", list);
request.setAttribute("paging", page.getPageStr());
System.out.println(page.getPageStr());
return new ModelAndView("index/index");
}
@RequestMapping("/login")
public void login(HttpServletRequest request, HttpServletResponse response, HttpSession httpSession) throws IOException {
String pwd = request.getParameter("pwd");
String no = request.getParameter("no");
response.setCharacterEncoding("utf-8");
Login login = (Login) httpSession.getAttribute("login");
if (login == null) {
User user = userService.checkUserNo(no, pwd);
if (user == null) {
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("<script>alert('账号密码错误');</script>");
response.getWriter().write("<script> window.location='../index/index' ;window.close();</script>");
response.getWriter().flush();
}
login = new Login(user.getId(), user.getName(), "user", "");
httpSession.setAttribute("login", login);
}
response.setContentType("text/html;charset=utf-8");
response.getWriter().write("<script>alert('登录成功');</script>");
response.getWriter().write("<script> window.location='../index/index' ;window.close();</script>");
response.getWriter().flush();
}
请问thymleaf如何才能实现jstl的这种直接判断未创建对象的空值问题
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
过于执着httpsession的类型,仔细阅读了文档,发现session.login就可以直接拿到值