v: screen widget 本质是基于freemarker 的。 目前screen类型的view基本都是MacroScreenViewHandler.java 负责处理的。
v:MacroScreenViewHandler.java render 方法中首先通过配置文件加载了三个类库。如下
- ScreenStringRenderer screenStringRenderer = new MacroScreenRenderer(UtilProperties.getPropertyValue("widget", getName() + ".name"), UtilProperties.getPropertyValue("widget", getName() + ".screenrenderer"));
- FormStringRenderer formStringRenderer = new MacroFormRenderer(UtilProperties.getPropertyValue("widget", getName() + ".formrenderer"), request, response);
- TreeStringRenderer treeStringRenderer = new MacroTreeRenderer(UtilProperties.getPropertyValue("widget", getName() + ".treerenderer"), writer);
v:正式render 页面前后,利用freemarker 编译了两个宏指令
- screenStringRenderer.renderScreenBegin(writer, screens.getContext());
- screens.render(page);
- screenStringRenderer.renderScreenEnd(writer, screens.getContext());
- public void renderScreenBegin(Appendable writer, Map<String, Object> context) throws IOException {
- executeMacro(writer, "renderScreenBegin", null);
- }
- public void renderScreenEnd(Appendable writer, Map<String, Object> context) throws IOException {
- executeMacro(writer, "renderScreenEnd", null);
- }
宏指令定义为
- <#macro renderScreenBegin>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- </#macro>
- <#macro renderScreenEnd>
- </#macro>
v:screen widget 大概处理过程。获取screnn 第一个section ,解析处理action(预处理所需数据)condition,根据condition结果决定处理子widget是widget还是fail-widget 。子widget的处理过程和上层widget类似。如此深入。具体的没有嵌套的screen widget 可以使用上述freemarker 类库来编译成html。
相关推荐
1.QNX screen系统是一个图形框架,提供开发时图像显示功能,抽象对外统一接口,屏蔽底层硬件差异。本资源利用screen图形接口,读取显示设备的显示内容,并将其以窗口形式同步显示,并用thread实时读取原窗口变化。...
ScreenToGif 截屏生成gif,ScreenToGif 截屏生成gif,
Pro Android学习系列中的Home Screen Widget小例子。具体见http://blog.csdn.net/flowingflying/article/details/6212512
usd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screenusd screen usd screen usd screen usd screen
ScreenToGif 2.1 屏幕截图生成GIF
Android home screen widget to display current weather alerts from the US National Weather Service I created this because I wanted a tablet on the wall in my kitchen to display weather alerts on the ...
sap abap selection screen 与 dialog screen的区别
This is a homescreen widget and Android Wear watch face that displays a 12-at-the-top 24 hour analog clock. Noon is at the top, so that the hour hand mimics the path of the sun. In addition to the ...
Screen
2. introducing home screen widgets and the AppWidget framework 3. Widget 设计向导(Widget Design Guidelines) 4. AppWidget 调用之系统时钟篇 5. 让我们的Widget和service打交道 6. 维基词典 每日一词,教你...
QNX操作系统的Screen开发帮助文档,包含OpenGL,EGL等的操作
ScreenToGif:录制后根据每一帧生成gif,简单易用的gif生成工具
一款可以在线生成网站缩图的源码,它能够在短短的几秒钟内,透过您所输入的网址请求,产生该网站或网页的缩图。 此源码,需要空间支持PHP。
Greenshot screen shot toolGreenshot screen shot toolGreenshot screen shot tool
screen
博文链接:https://jiasudu.iteye.com/blog/105327
Screen GIF是一款非常小巧轻便的gif录制工具。它可以直接从你电脑所在的屏幕上的任何区域进行操作和录制,录制结束后可以将你做录制到的画面进行编辑,然后将你所录制到的画面保存为GIF图像。当然在录制开始之前你们...
screen下载、linux后台运行程序非常实用、后台任务、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、CentOs系统screen下载、linux后台运行程序、screen linux redhat 、...