zoukankan      html  css  js  c++  java
  • NVelocity入门,为服务器与客户端传输xml数据,实现Ajax通信铺平道路[转]

     
    要是直接写个xml,像这个样子:

    到时候我们给这个xml一个人员列表的数据,让它可以生成一个人员列表的xml,这样的工具,我们管它叫模板引擎,NVelocity就属于这类。只要使用模板语言(template language)来编写好模板,到时候给模板引擎解析,并生成我们需要的数据。
    好,既然这样,下面我们来看一下生成貌似上面xml格式数据的模板应该怎么写:

    我们只需要给这个模板一个ListUsers的人员列表数据,模板引擎就会帮我们生成需要的数据,
    其实,学过一些编程语言后,在读模板语言写的代码时,基本上都能够猜出是什么意思。
    我们现在来看看上面那个模板是什么意思:
    #foreach($u in $ListUsers)其实跟C#里面的foreach(Java中的扩展for)几乎一样,就死遍历ListUsers里面的数据,每次遍历的值放到对象u中,接下来
    #beforeall:就是在遍历ListUsers前,先输出<users count="$Count" title="$Title">
    #each:就是每遍历一下,得到一个u,就输出
    <user>
            <name>$u.Name</name> //$u.Name就是输出u对象的Name属性,在Java中就肯定是调用getName()方法了哦,C#实现的NVelocity也延续了java的习惯,就是说,这个也可以表示调用getName()方法,具体是直接调用属性,还是调用方法得看具体情况,NVelocity会自动辨别的
            <sex>$u.Sex</sex>
            <city>$u.City</city>
         </user>
    #afterall:遍历完ListUsers后,输出</users>
    #nodata:如果没数据的话,直接数据<users>暂无用户资料</users>
    #end:表示遍历完毕的结束标志
    看看,是不是真的很简单呢!
    好了,现在我们来看一下在服务器端怎么调用这个模板,并传给这个模板ListUsers这个参数:

        终于搞定了,是不是很简单。 

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/flyrain/p/NVelocity1.html
Copyright © 2011-2022 走看看