免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4160 | 回复: 4
打印 上一主题 下一主题

求教:JSTL 使用带参数的Java 类方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-27 01:02 |只看该作者 |倒序浏览
刚开始学JSTL,有点困惑:
如果不用JSP Script,例如下面的代码如何改写

<select name="chDate">
<%
    GregorianCalendar theDate = new GregorianCalendar();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    theDate.roll(Calendar.MONTH , Calendar.JANUARY - theDate.get(Calendar.MONTH));
    for(int i=0 ;i < 12; i++)  {
         out.println("<option>" + sdf.format(theDate.getTime()) + "</option>");
         theDate.add(Calendar.MONTH, 1);
    }
%>
</select>

请各位高手不吝赐教

论坛徽章:
0
2 [报告]
发表于 2008-04-28 11:50 |只看该作者
List list = new ArrayList();

    GregorianCalendar theDate = new GregorianCalendar();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    theDate.roll(Calendar.MONTH , Calendar.JANUARY - theDate.get(Calendar.MONTH));
    for(int i=0 ;i < 12; i++)  {
          sdf.format(theDate.getTime())
         theDate.add(Calendar.MONTH, 1);
    }

request.setAttribute("list", list);

把以上的逻辑放在servlet或action中,同时把list放在request中
然后界面上通过
<select name="chDate">
<c:forEach items="requestScope.list" var="item">
   <option value="${item}">${item}</option>
</c:forEach>
</select>

论坛徽章:
0
3 [报告]
发表于 2008-04-28 13:14 |只看该作者
谢谢colorful-day !
也许我没有把问题说清楚
例如:根据今天的日期获得去年的今天的表示,因为今天是已知的所以也没必要去action了;其实我所要的是将已知量作为参数计算得到一个需要的量,帖子中的例子并没有实际意义。
Apache的tagLib有datetime标签库,但与GregorianCalendar类比起来功能差了不少,这也是我对JSTL替代JSP Script的困惑所在。
再请教一个问题:
EL如何实现位运算,例如 & | >> 等?

论坛徽章:
0
4 [报告]
发表于 2008-04-29 09:36 |只看该作者
据我所知 JSTL好像不支持位运算的,我在网上也没有找到相关的内容。另外,JSTL是用来展现数据的,最好是把运算写在servlet或action中。学习JSTL推荐一本书: JSTL in action。网上可以下载到的。

论坛徽章:
0
5 [报告]
发表于 2008-04-29 12:25 |只看该作者
原帖由 colorful-day 于 2008-4-29 09:36 发表
据我所知 JSTL好像不支持位运算的,我在网上也没有找到相关的内容。另外,JSTL是用来展现数据的,最好是把运算写在servlet或action中。学习JSTL推荐一本书: JSTL in action。网上可以下载到的。

谢谢!
已经找到解决方法:根据需要编写EL Functions

[ 本帖最后由 caojiqun 于 2008-4-29 15:25 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP