模板中 首先在html标签引入thymeleaf的标签库
<html xmlns:th="">
2.然后从标签获取对应的值
<span th:text="${?.name}"></span>
注:
- ?是thymeleaf判断对象是否为空的方法,thymeleaf中显示某对象使用${name},但如果name 为null,thymeleaf就会报错。
2.使用 ${xxx?.xxx?} 可以判断对象是否为空
3. ? 号 前的对象或者属性为空那么就不再进行渲染,而且不会导致出现报错的情况
不加?会报的错误,请查看此文章
3.后台代码
@RequestMapping("login")
public ResultObj login(String loginname, String pwd, HttpSession session, HttpServletRequest request) {
Subject subject = SecurityUtils.getSubject();
AuthenticationToken token=new UsernamePasswordToken(loginname, pwd);
try {
subject.login(token);
// 登录成功之后讲用户信息放到session中
ActiverUser activerUser = (ActiverUser) subject.getPrincipal();
User user = activerUser.getUser();
//将user放入session
session.setAttribute("user",user);
return ResultObj.LOGIN_SUCCESS;
} catch (AuthenticationException e) {
e.printStackTrace();
return ResultObj.LOGIN_ERROR;
}
}
jar:
<!-- 引入shiro -->
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
<!--shrio和thymeleaf集成的扩展依赖,为了能在页面上使用xsln:shrio的标签 -->
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>2.0.0</version>
</dependency>