![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
Struts2 select标签中的动态默认值问题 20
问题是这样,在jsp中有这样一段代码<s:selectname="userRole"list="#{'1':'leader','2':'employee','3':'he...
问题是这样,在jsp中有这样一段代码
<s:select name="userRole"
list="#{'1':'leader', '2':'employee', '3':'hello'}"
headerKey="0"
headerValue="请选择"
value="2"
/>
上面这段代码没问题,指定了当前下拉列表的默认值是employee,但现在我想把这个默认值动态指定为上一个action传过来的值<s:property value="userRole">。直接把value="2"改为value=<s:property value="userRole">会导致struts2标签嵌套因此不行,请问还有什么其他办法?
@tuoxinguyu,感谢解答,但你说的两种方法都是不行的。第一种还是标签嵌套,试过了,不行。第二种试过了也不行,Struts2后来的版本中已经不支持el表达式。
后来搜了一下找到了解决办法,虽然struts2不支持el表达式,但是支持OGNL表达式,用value="%{userRole}"即可解决问题 展开
<s:select name="userRole"
list="#{'1':'leader', '2':'employee', '3':'hello'}"
headerKey="0"
headerValue="请选择"
value="2"
/>
上面这段代码没问题,指定了当前下拉列表的默认值是employee,但现在我想把这个默认值动态指定为上一个action传过来的值<s:property value="userRole">。直接把value="2"改为value=<s:property value="userRole">会导致struts2标签嵌套因此不行,请问还有什么其他办法?
@tuoxinguyu,感谢解答,但你说的两种方法都是不行的。第一种还是标签嵌套,试过了,不行。第二种试过了也不行,Struts2后来的版本中已经不支持el表达式。
后来搜了一下找到了解决办法,虽然struts2不支持el表达式,但是支持OGNL表达式,用value="%{userRole}"即可解决问题 展开
2个回答
展开全部
你写的不对,这样写:
value="<s:property value='userRole'>"
或者用el表达式
value="${userRole}"
value="<s:property value='userRole'>"
或者用el表达式
value="${userRole}"
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是一个动态使下拉显示相对应的值,给个例子给你看,希望对你有用哦:
1.在jsp页面中:
所在班级:
<s:select list="#classList" id="classid" name="studentVo.classId" listKey="classId" listValue="className"></s:select><br/><br/>
所属类型:<s:select list="#stuTypeList" id="typeid" name="studentVo.typeId" listKey="typeId" listValue="typeRemark"></s:select><br/><br/>
2.加载方法
<script type="text/javascript">
onload = function(){
document.getElementById("classid").value=${student.tabClassInfo.classId};
document.getElementById("typeid").value=${student.tabStutypeInfo.typeId};
}
</script>
1.在jsp页面中:
所在班级:
<s:select list="#classList" id="classid" name="studentVo.classId" listKey="classId" listValue="className"></s:select><br/><br/>
所属类型:<s:select list="#stuTypeList" id="typeid" name="studentVo.typeId" listKey="typeId" listValue="typeRemark"></s:select><br/><br/>
2.加载方法
<script type="text/javascript">
onload = function(){
document.getElementById("classid").value=${student.tabClassInfo.classId};
document.getElementById("typeid").value=${student.tabStutypeInfo.typeId};
}
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询