日期:2014-05-17  浏览次数:20726 次

EL表达式的问题
-----这是代码
<TD class="textblue">
<c:choose>
<c:when test="${review.reviewerRole=='KSLD'}">科室领导</c:when>
<c:when test="${review.reviewerRole=='JSSLD'}">技术室领导</c:when>
<c:otherwise>部门领导</c:otherwise>
</c:choose>审批意见&nbsp;&nbsp;(审批人:<%=TSGUtils.getUserNameByCode(${review.executer})%>)
</TD>

${review.executer} 这得到的是 userId
现在我想得到userNAme,
这里应该怎么写啊?
这样写肯定错的!


------解决方案--------------------
我播客有EL表达式的文章
------解决方案--------------------
review 是一个对象吗。 userName 是你对象中的属性吗? 把你的username 。 get和set下。 在页面上${review.实体类中的属性}
------解决方案--------------------
能得到id用同样的方式就能得到name
------解决方案--------------------
探讨

回复楼:getUserNameByCode(userId);就是获得userName的方法


回复三楼:${review.userName} 没有userName

------解决方案--------------------
<% int id= ((Review)request.getattribute("review")).getExecuter();
String username=TSGUtils.getUserNameByCode(id);
out.println(username);
%>

------解决方案--------------------
你保存了userNAme就能得到
------解决方案--------------------
<c:set value="${review.executer}" var="userId" scope="request"/>
然后 你String userId = request.getAttribute("userId");
------解决方案--------------------
要看你这里面是什么东西了。 你可以在ACTION里。。把USERNAME...SET进去