【学习】jsp编程jstl和el

本文介绍了一种基于Java的用户登录验证方法,通过UserController处理登录请求并验证用户信息。同时,利用EL表达式和JSTL实现了用户权限判断及不同权限下的页面跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UserController.java

@RequestMapping(value = "/user_login")
public String checkUserInfo(@ModelAttribute User user , HttpSession userInfoSession) {		    
	User userlogin = userService.getUserbyName(user.getUsername()); //从数据库中找相同用户名的数据
	if(userlogin!= null){ //用户输入的用户名存在
		if(userlogin.getPassword().equals(user.getPassword())){ //比较用户输入的密码和数据库中保存的密码是否相同
		        userInfoSession.setAttribute("userlogin",userlogin);
			return "redirect:/book_list";
		}        
		else{
		     return "Login";
		}
	}
	else{//用户输入的用户名不存在
		return "Login";
	}		   
}
在UserController中创建了一个userInfoSession,并赋予“userlogin”

在JSP页面中,之间运用el表达式调用Session,如下代码所示:

<c:if  test="${userlogin.getUsername() != null}">
	当前用户:${userlogin.getUsername()}  权限:${userlogin.getPermission()}
</c:if>
<c:if  test="${userlogin.getUsername() == null}">
    <c:redirect url="login"></c:redirect>
</c:if>

另外,上面代码实现了用户未登入时,不能访问除登入界面的网页。


EL表达式判断字符串时,字符串需要加单引号,如下代码所示:

<c:if  test="${userlogin.getPermission() == 'admin'}"> <!-- 字符串后面要加单引号 -->
	<td><a href="book_delete/${book.id}">Delete</a></td> 
</c:if>   

另外,上面代码实现了判断登入用户权限,是否显示操作链接。


如上所示,运用JSTL可以在JSP页面中进行判断,但需要在jsp页面中引入

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值