html页面获取session中的值

时间:2025-03-15 20:18:55

模板中 首先在html标签引入thymeleaf的标签库

<html xmlns:th="">

2.然后从标签获取对应的值

<span th:text="${?.name}"></span>

注:

  1. ?是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>