程序员收集数据和对象,并且把它们放到一个context对象中,这样就可以被设计者访问。在使用Velocity时,,JAVA程序员和网页设计者首先在一个模板中商定一组数据,设计者就可以在各自的程度或网页源代码中分别对它们进行操作。
然后,设计者就可建立模板,添加VTL(Velocity template language)元素。从conlexl对象中获取的数据将被放置在其中,以便处理后输出。这里,context充当中间人的作用,在JAVA层(程序员)和模板层(设计者)之间传递数据。
Velocity允许网页设计者将元素嵌入在网站建设中,与在JAVA代码中定义的一个context对象一道工作。JAVA代码把数据放到context对象中,然后为此数据选择一个适当的模板(格式)。网页设计者从context中获取数据元素,并把这些数据元素与模板的内容组合,从而产生设计者的需要输出 。
对于”模型”图”控制器”(MVC,model-view-controller)的支持是Velocity的优势之一,这样可以 支持更多易于维护且设计很好的网站设计。如果把JAVA看作是MVC”模型”中的”模型””控制器”层,HTML模板代码看作是MVC”模型”中的”视图”层,则Velocity就充当了它们之间的一个分享层,与JSP不同,Velocity不允许在网页之内嵌入JAVA代码,因为这将破坏MVC”模型”。
因为模板语言仅仅对context中的对象提供控制机制和数据访问,所以设计者可以访问由程序员提供的数据,而不必担心影响到程序代码,同样,国为网站制作输出是由设计者在模板中完全指定的,程序员也不能影响数据的显示。