`
j2eetop
  • 浏览: 64493 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Tiny模板运行器

 
阅读更多
说到模板开发,当然就离不开要调试,要运行。一般情况下模板语言都是由Java程序驱动跑的,因此,每次都需要搞一个Java类来驱动它,才能运行出结果。有没有更简洁的方式呢?当然是有的,Tiny框架提供了强大的Eclipse插件:模板运行器,用户通过它可以达到快速开发和调试模板语言。

前提条件
在Eclipse环境想要使用Tiny模板运行器,需要满足以下条件:
  • 正确安装Tiny框架提供的Eclipse插件,这是基础要求。
  • 在想要使用模板运行器的工程,pom.xml文件引入依赖org.tinygroup.templateengine。模板运行器会根据这个依赖获得支持的模板后缀信息和具体的模板执行类,从而实现自动运行调试。目前模板运行器支持vm/page/layout/component这四类模板名后缀。
  • 安装前提:eclipse必须安装WTP(Web Tools Platform框架)
    什么是WTP框架?
    请看下图:

    image2015-2-17%2016%3A31%3A23.jpg (63.14 KB, 下载次数: 0)

    下载附件

    2015-5-27 13:36 上传



    然后:

    image2015-2-17%2016%3A32%3A1.jpg (69.02 KB, 下载次数: 0)

    下载附件

    2015-5-27 13:36 上传

  • 如果没有,请见下面详解
    WTP安装:
    方案一(推荐):
    直接下载eclipse for JEE版本,自带WTP,直接安装使用,他好我也好。

    方案二:

    image2015-2-16%209%3A27%3A10.jpg (81.71 KB, 下载次数: 0)

    下载附件

    2015-5-27 13:36 上传


    方案三:
    eclipse官方网页:http://www.eclipse.org/webtools/news.php
    寻找适合自己eclipse的WTP,进行安装,可以选择site更新,也可以选择离线方式安装。


接下来笔者介绍一下模板运行器的使用步骤:



操作流程
  • 编写模板文件,并保存。
  • 在Eclipse资源管理器选中模板文件,调出右键菜单,选择“Run as”或“Debug as”。
  • 点击“运行”,执行模板。这时候可以在命令控制台看到输出的结果。

笔者做一个简单的例子,希望帮助大家进一步理解模板运行器的使用:
首先,我们在资源管理器新建一个hello.vm,然后输入如下模板内容:
  1. #for(i:[1..3])
  2. #for(j:[1..2])
  3. ${i}*${j}=${i*j}#eol
  4. #end
  5. #end
复制代码

然后,选中模板文件,调出右键菜单,点击“运行”,如下图:

cccc.jpg (39.92 KB, 下载次数: 0)

下载附件

2015-5-27 13:36 上传


模板执行结果请见下面:

QQ%E6%88%AA%E5%9B%BE20141218095447.jpg (7.7 KB, 下载次数: 0)

下载附件

2015-5-27 13:36 上传


如果想进行调试,也是可以进行调试的,右键菜单选择“Debug”就可以了,接下来大家就可以享受快速开发调试的愉悦了。

常见问题
当然任何软件在使用过程中,不可避免的会遇到各种问题,笔者就列举一下模板运行器常见的问题和解决方法:
  • 右键菜单里面选择“Run”或者“Debug”,都看不到“运行”选项。
  • 右键菜单可以看到“运行”选项,但是点击之后,提示“未找到执行器”。



问题一分析:



找不到"运行"选项
问题一的原因是Eclipse插件没有安装或者安装不正确导致模板运行器没有被加载,用户可以通过“Help”-“About Eclipse SDK”-“Installation Details”查看插件安装情况,详情见下图。如果没有模板运行器,就请重新安装相关插件。


QQ%E6%88%AA%E5%9B%BE20141218102556.jpg (54.92 KB, 下载次数: 0)

下载附件

2015-5-27 13:36 上传


问题二分析:

QQ%E6%88%AA%E5%9B%BE20141218110034.jpg (14.09 KB, 下载次数: 0)

下载附件

2015-5-27 13:36 上传



提示“未找到执行器”
有如下几种情况都可以造成问题二,用户需要逐一排查:
  • 测试工程的pom.xml没有正确依赖org.tinygroup.templateengine。模板执行器无法得到模板后缀信息或者执行器信息,自然会提示上述异常。
  • 模板文件后缀不在依赖工程支持的配置范围。模板执行器是根据*.runtype文件配置加载相关信息,默认支持vm/page/layout/component这四类模板名后缀。用户要扩展也很容易,在测试工程新建*.runtype文件配置,按下方示例文件,增加要绑定的模板后缀到extension属性。
  • 模板实际执行类TinyTemplateExecutor没有找到。这种情况比较少见,通常是maven的install不正确,需要重新install依赖。
  • 模板执行器自身不正确,存在历史冲突。Eclipse插件更新可能会造成这种情况,在启动Eclipse环境加上-clean参数,清除插件缓存。


关联注册文件demo.runtype示例:
  1. <runtypes>
  2. <!-- 调用模板引擎执行器TinyTemplateExecutor渲染如下后缀的模板页面-->
  3. <runtype extension="vm" class="org.tinygroup.template.executor.TinyTemplateExecutor" />
  4. <runtype extension="page" class="org.tinygroup.template.executor.TinyTemplateExecutor" />
  5. <runtype extension="layout" class="org.tinygroup.template.executor.TinyTemplateExecutor" />
  6. <runtype extension="component" class="org.tinygroup.template.executor.TinyTemplateExecutor" />
  7. </runtypes>
分享到:
评论

相关推荐

    基于51单片机运行RTX51 Tiny操作系统源码模板LED闪烁源码

    基于51单片机运行RTX51 Tiny操作系统源码模板LED闪烁源码 #include #include &lt;RTX51TNY.H&gt; //引入RTX51TNY.H头文件 sbit SYSLED = P2^6; //定义P2.6端口为系统LED指示灯 void start_task(void) _task_ 0 //启动多...

    TinyC++软件资料包

    作为一个小巧且用户友好的IDE,TinyC++不仅提供了代码编辑器,还支持编译、运行以及调试,使得学习过程更为高效和直观。 首先,我们来深入了解C语言和C++。C语言是1972年由Dennis Ritchie在贝尔实验室开发的,是一...

    demo(51MCU_RTX51 Tiny)万能模板

    模板可能包含了一些常见的初始化代码,如时钟设置、中断服务函数、内存管理等,以及一些基础任务示例,以展示RTOS的运行机制。 【标签】"51单片机"强调了这个模板是专门针对51系列微控制器设计的,开发者需要对51...

    Tiny模板库:变体

    在Tiny模板库中,变体的设计基于模板技术,这使得它可以在编译时检查类型安全性,避免了运行时类型检查的开销。变体能够存储任何类型的对象,但必须是预定义的一组类型之一。这些类型可以通过模板参数列表来指定,如...

    tinyXML C++ 解析器

    TinyXML 是一个专门为 C++ 开发的轻量级 XML 解析器,它的设计目标是简单易用,并且能够轻松地整合到其他项目中。TinyXML 实现了一个文档对象模型(DOM),通过解析 XML 文档,生成一个可以直接读取、修改和保存的...

    tiny-dnn源码

    tiny-dnn利用C++11的模板和STL向量实现底层的向量化运算,提高计算效率。它不依赖于其他大型库如BLAS或CUDA,这使得它能在资源有限的环境中运行,如嵌入式设备。 3. **灵活性与可扩展性** tiny-dnn支持用户自定义...

    ProjectTinySamples-master_sample_tiny_unity_

    相比于完整的Unity编辑器,Tiny更专注于基本的2D游戏功能,如精灵动画、碰撞检测和物理系统。 2. **轻量化资源管理**:Unity Tiny可能包含如何优化资源加载和管理的例子,这对于内存有限的设备或需要快速启动的游戏...

    tinyos编程英文教程

    TinyOS还引入了一些高级主题,如属性(Attributes)和平台独立类型(Platform Independent Types),这些概念在C/C++中通常需要通过宏定义或模板来实现,而在TinyOS中则提供了更简洁的语法。例如,NESc语言中的属性...

    TINY编译器C++版

    2. **模板的应用**:考虑是否和如何使用模板来增强代码的通用性,例如用于创建通用的解析器或代码生成器。 3. **异常安全**:确保编译器在遇到错误时能正确抛出异常并优雅地处理。 4. **STL库的利用**:C++标准...

    tinyxml_vc6.0调试ok

    4. **STL 兼容性**:TinyXML 还提供了 `tinyxmlSTL` 部分,支持使用标准模板库(STL)容器,如 `std::vector` 和 `std::map` 来处理 XML 数据。 在 VC6.0 下调试 TinyXML,你需要关注以下几个方面: 1. **项目设置...

    tiny4412裸机相关程序

    在嵌入式系统的世界里,"tiny4412裸机相关程序" 是一个非常重要的实践环节,...在实际操作中,还需要配合相应的开发环境(如Keil MDK或GCC)、仿真器和调试工具进行代码编译、下载和调试,以便更好地理解和优化程序。

    Tinyxml 源代码(VC6 & VS2005)

    TinyXML++是一个全新的TinyXML接口,使用了许多诸如模板,异常处理和更好的错误处理这些C++强项技术。 特性 使用STL TinyXML可以被编译成使用或不使用STL。如果使用STL,TinyXML会使用std::string类,而且完全...

    图片压缩工具-TinyPng多线程压缩v4.0

    此外,"v4.0(内存优化版)"更是在内存管理上进行了优化,降低了对系统资源的需求,使得在处理大型图片或大量图片时,系统运行更加流畅,避免了因内存不足导致的程序崩溃问题。 TinyPng的压缩技术主要依赖于两种策略...

    CC2430单片机的TinyOS移植

    - **选择合适的项目模板**:TinyOS提供了多种项目模板供开发者选择,如BlinkNoTimerTask等,这些模板有助于快速启动开发工作。 - **编译并下载程序**:使用Keil进行编译,并利用SmartRF04 Flash Programmer等工具...

    编译wince tiny kernel

    对于那些运行在有限硬件资源上的嵌入式设备来说,Tiny Kernel是一种非常理想的解决方案。 #### 二、Tiny Kernel的特点与优势 - **内存限制的解除**:Tiny Kernel模式下,程序可以访问更多的内存空间,不再受限于1...

    tiny框架 v3.4.10.1.zip

    3. **视图模板**:Tiny框架支持多种模板引擎,允许开发者使用模板语言来创建动态HTML页面。这种分离业务逻辑和展示逻辑的方式有助于提高代码的可读性和可维护性。 4. **数据库抽象层**:Tiny框架提供了数据库操作的...

    Wordpress Tiny Mod

    6. **代码质量**:高质量的代码是保证模板稳定运行的基础。Tiny Mod可能遵循良好的编码规范,确保模板的可维护性和扩展性。 7. **更新与兼容性**:WordPress经常发布新版本,Tiny Mod应确保与最新的WordPress核心...

    考试系统 电脑摄像头人脸识别登录的js代码,含有tiny_face人脸识别库

    在这个项目中,可能包含了Tiny Face库的JavaScript文件、预处理的人脸模板或其他与人脸识别相关的数据。 6. **服务器环境**: 由于代码必须放在服务器中访问,这意味着系统依赖于后端服务器来运行JavaScript和处理...

Global site tag (gtag.js) - Google Analytics