JSPCN主页 | JSP空间 | 网站制作 | JSP下载 | JSP论坛 | JSP教程 | 关于JSPCN | 联系我们
JSP虚拟主机,jsp空间,java空间,java虚拟空间,详细请点击进入
做最专业的JSP中文网站 当前位置首页--技术新闻--缓存区  
文章搜索:
关键字 标题
  
JSP中文网内容管理系统(JCMS)
JSP虚拟主机
网络笔记本
网摘,图片,笔记收藏
虚拟服务器

JSPCN文章目录分类
JSP配置[219]JSP基础[136]
中文问题[69]上传问题[27]
JAVABEAN[46]数据库[212]
文件操作[126]图片声音[17]
JSP其他[57]时间相关[16]
JAVAMAIL[72]STRUTS[144]
开发工具[28]教程系列[157]
JSP实例[89]
JAVA基础[421]APPLET[78]
JAVA网络[179]Applica[115]
Servlet[98]XML[163]
J2ME[257]J2EE[374]
考试相关[63]JAVA线程[90]
EJB[261]Swing[26]
Java API[141]声音图片[28]
异常处理[33]JAVA实例[290]
JAVA类[139]SUN[89]
Hibernate[6]JMX[8]
Spring[34]
本版推荐文章 
本版热点文章 
相关文章链接 
 
Velocity中的“比较”的思考
作者:     文章来源:
访问次数:1次     加入时间:2005年01月01日

Velocity的比较本来很简单,但是它在基本类型比较的时候不仅比较值的相等,同时也比较其类型的相同性。我们可以通过下面的例子来看:
我的一个新闻发布系统:
发布类:(部分代码)
       //--------------------   initialize  the  context  ---------------------//
        VelocityContext context = new VelocityContext();
        //热点新闻的代码
        context.put("HOT_NEWS_NUM", (long)News.HOT_NEWS);

        //焦点新闻列表
        context.put("FOCUSNEW", focusNew);

        //图片新闻的信息列表
        context.put("PICKEY", keyList);
        context.put("PICSET", picNewList);
        //普通新闻列表
        context.put("LIST0", list0);
        context.put("LIST1", list1);
        context.put("LIST2", list2);
        context.put("LIST3", list3);

        //------------    merge  the context  and  template  together   --------//
        String template = "news/_include_hot_news1.jsp";
        String destFile = "/news/news/_include_hot_news1.jsp";
        releaseNews(template, destFile, context);

我的模版(部分代码):

                        #set($num1=$PICKEY.get(1)%4)
                        #foreach($news1  in  $LIST1)
                                                <tr height="16">
                                                <td>
                        <img src="images/dot.gif">

                                                <a href="<%=request.getContextPath()%>/news/ViewHotNews.sh?url=$news1.getUrl()">
                                                 $HOT_NEWS_NUM -- $news1.getPriority()
                        #if($news1.getNewsid() ==$PICKEY.get(1))
                        <strong>$news1.getTitle()</strong>
                        #elseif($HOT_NEWS_NUM==$news1.getPriority())
                            <span class="fontb">$news1.getTitle()</span>
                        #else
                            $news1.getTitle()
                        #end

                        </a>
                        <font color="#999999">[$news1.getIssueDate()]</font>
                        #if($velocityCount<=2)
                          <img src="images/shousuojieguoa_31.gif" width="23" height="13">
                        #elseif($news1.getPriority()==$HOT_NEWS_NUM)
                            <img src="images/shousuojieguoa_17.gif" width="26" height="11">
                                                #else

                        #end


                                                 </td></tr>
                         #end
我加粗的部分是两个不同类型的变量
$news1.getPriority()是long
$HOT_NEWS_NUM是int
但是值都是0
所以,如果您也需要这样的比较的话,一定要注意了。在velocity中好象不能进行类型强制转换,你也可以试一下。
后来,在JSP中我也遇到了同样的问题,所以思考一下之后,我觉得应该是java本身就是这种机制:如果你进行比较的话就需要进行同种类型的比较,如果不是同种类型的话就需要进行类型转换。认识较浅,还望大家多指点。希望和大家共同学习,共同进步。
JSP虚拟主机 | JSP空间 | JSP主机 | JSP双线虚拟主机 | JAVA空间 | JAVA虚拟主机 | 虚拟服务器 | JSP 虚拟服务器 | VPS
Virtual Private Server | JAVA虚拟服务器 | VM服务器 | VHOST | 虚拟操作系统 | JSP论坛 | JAVA论坛 | JSP站点论坛
Copyright © 2002-2005 JSPCN.net. All rights reserved.
JSP中文网    备案序号:蜀ICP备05001583号
成都恒海科技发展有限公司    成都市一环路南二段6号新瑞楼三楼8号