场景:如下图,角色有 用户 和 管理员 两种,页面加载时需要将系统中该用户角色赋值给下拉框
举例:该账号为 管理员 角色,页面加载时需要将 管理员 赋值给该角色下拉框
最初代码:
<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>