jsp中el表达式问题

ben0759 2009-09-03 08:39:33
目前有这样的需求:
由于我使用了<c:foreach>
对于每一个var=employee
我需要通过employee.id传入一个类方法get(employee.id)拿到值。
但是每一个employee都是${employee}
而我需要
<%
get();
%>
这样拿到employee.id,有没有办法?

第二,目前我想通过jsp计算日期
例如;
date=2009-8-20 during=2个月
我需要计算date+2个月-15天,有没有办法?
...全文
282 25 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ben0759 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 islandrabbit 的回复:]
对于第一个问题楼主可试试:

1.  <% ((Element) pageContext.getAttribute("employee")).getId(); %>

2. ${((Element)employee).getId()}
[/Quote]

这个方法ok,多谢了。
cnliming 2009-09-07
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20090907/08/9c973423-6327-45a8-95a4-c1abe9db5699.html
o北斗o 2009-09-07
  • 打赏
  • 举报
回复
飘过~~~~~
meander 2009-09-07
  • 打赏
  • 举报
回复
up
BeatYourBird_ 2009-09-04
  • 打赏
  • 举报
回复
对于复杂的判断EL表达满足不了需求..<c:forEach var="employee" items="${employees}">

可以用
<%for(Employee e:employees){
<c:choose>
<c:when test="${employee.status==1 && (Tools.get(e.getId()))}">
<strong class="warn">该员工需要转正!</strong>
</c:when>
</c:choose>
}%>
替换- - 给分吧
鲜为人知 2009-09-04
  • 打赏
  • 举报
回复
SimpleDateFormat sf = new SimpleDateFormat( "yyyy-MM-dd");
Date d = sf.parse(date);
long dl = d.getTime();
int num = 30;//
long dayM = 24*60*60*1000;
long l = during*num*dayM ;
计算date+2个月-15天
long res = dl+l-15*dayM;
Date temp = new Date(res);
结果sf.format(temp);

没有封装,敬请原谅。其中月的天数问题你要写方法获得,因为每个月的天数不等啊



ms_X0828 2009-09-04
  • 打赏
  • 举报
回复
第一个问题不懂,最好把代码贴出来
第二个问题可以转换为秒来计算
xzm99 2009-09-04
  • 打赏
  • 举报
回复
路过。。。帮顶下
heavilyarmed 2009-09-04
  • 打赏
  • 举报
回复
这个帮帮顶
feishare 2009-09-04
  • 打赏
  • 举报
回复
<%
isWarn=Tools.get(%{employee.id});
%>
要写在<c:forEach/>的里面吧,难道是作用域的问题?
紫炎圣骑 2009-09-04
  • 打赏
  • 举报
回复
楼主把题目说清楚一下
zhoujingxian 2009-09-04
  • 打赏
  • 举报
回复
第一个题目,我看了几遍,有点晕了
你的这段代码:
<c:forEach var="employee" items="${employees}">
<c:choose>
<c:when test="${employee.status==1 && isWarn}">
<strong class="warn">该员工需要转正!</strong>
</c:when>
</c:choose>
<%
isWarn=Tools.get(%{employee.id});
%>

你现在的employee是个BEAN对象吗,如果不是,那就建个Employee的bean,里面有id,name等属性和对应的set,get方法,在页面上,你就可以直接用employee.id得到值了
页面先引入包,
<c:forEach var="employee" items="${employees}">
<c:choose>
<c:when test="${employee.status==1 && (Tools.get(${employee.id}))}">
<strong class="warn">该员工需要转正!</strong>
</c:when>
</c:choose>
zhaoyunrui 2009-09-04
  • 打赏
  • 举报
回复
路过...
config_man 2009-09-04
  • 打赏
  • 举报
回复
路过
lihao1129 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 dring321 的回复:]
把这句
isWarn=Tools.get(%{employee.id});
改成试试
isWarn=Tools.get(${employee.id});
[/Quote]
这个是对的
xiaoxiaoxiaohei 2009-09-04
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 gxw19820801 的回复:]
加个隐藏字段 <input type="hidden" name="isWarn" value="${employee.id}">不行么
[/Quote]

试试这个方法吧
gxw19820801 2009-09-04
  • 打赏
  • 举报
回复
加个隐藏字段<input type="hidden" name="isWarn" value="${employee.id}">不行么
代码间的舞者 2009-09-04
  • 打赏
  • 举报
回复
把这句
isWarn=Tools.get(%{employee.id});
改成试试
isWarn=Tools.get(${employee.id});


islandrabbit 2009-09-03
  • 打赏
  • 举报
回复
对于第一个问题楼主可试试:

1. <% ((Element) pageContext.getAttribute("employee")).getId(); %>

2. ${((Element)employee).getId()}
ben0759 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 soulx 的回复:]

不是太明白LZ的意思
但employee如果是个bean的话,这样${employee.id},不久能取得employee.id了吗?


JSP的标签好像没有计算时间的,你可以用JS来实现日期的转换或在服务器端完成。
[/Quote]

问题是我不怎么会使用javaBean,可以告诉我怎么写可以拿到吗?
加载更多回复(5)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧