【记录】jsp 中使用 el 表达式为下拉框赋默认值

场景:如下图,角色有 用户 和 管理员 两种,页面加载时需要将系统中该用户角色赋值给下拉框

举例:该账号为 管理员 角色,页面加载时需要将 管理员 赋值给该角色下拉框

最初代码:

<select name="roleid">
	<option value="2">用户</option>
	<option value="1">管理员</option>
</select>

赋默认值方式:

<select name="roleid">
	<option selected value="2">用户</option>
	<option value="1">管理员</option>
</select>

那么现在需要判断后台传来的值是否等于 value ,若相等,则给该选项 selected ,那么就需要加个判断,但在这之前,我们需要确保后台成功已传值到前台,不妨使用 el 表达式测试下

比如我后台传了用户的 roleid 到前台

	@RequestMapping(value = "/user/toupdate", method = RequestMethod.GET)
	@ApiOperation(value="跳转用户信息修改页面",notes="")
	public String toUserUpdate(String id,Model model) throws Exception{
		User userinfo = userService.queryUserInfoByUserid(id);
		model.addAttribute("id", id);
		model.addAttribute("userinfo", userinfo);
		// 传递账号的角色 roleid 到前台
		model.addAttribute("roleid", 1);
        return "user/userUpdate";
	}

前台使用 ${}获取

${roleid }
<select name="roleid">
	<option value="2">用户</option>
	<option value="1">管理员</option>
</select>

效果

接下来使用 el 表达式的 if 判断

首先需要在 jsp 顶部引入 el 表达式

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

然后进行判断

<select name="roleid">
	<option <c:if test="${roleid eq 1}">selected</c:if> value='1'>管理员</option>
	<option <c:if test="${roleid eq 2}">selected</c:if> value='2'>用户</option>
</select>

原创文章 88 获赞 41 访问量 16万+

猜你喜欢

转载自blog.csdn.net/Damionew/article/details/89511187
今日推荐