序号 | 任务描述 | 类型 |
1 | 异常国际化, 将所有异常信息用统一的工具类管理, 并配置到properties文件中. | 优化 |
2 | 出错位置信息准确性, 当抛出异常时, 应显示准确的出错元素在模板中的行列位置, 并显示出错位置附件的模板内容. | BUG |
3 | 错误信息友好性, 抛出来的异常信息应有助于解决错误, 不应该出现底层的无意义信息, 可以通过故意写错模板内容等方式来测试. | 优化 |
4 | Context是否应去掉MessageSource和Logger,它们不是共享功能,可直接注册到相应指令中? | 疑问 |
5 | 对象存储加一个不分级控制的存储空间. 此存储空间在单一Context内有效(非全局), 但不受LocalContext栈的隔离. | 优化 |
6 | 类元静态函数/属性的调用, 在没有类实例的情况下, 怎么表示类元. 如: ${&com.xxx.XxxUtils.xxx()}, 这里假设用&作为前导一元操作符,并且其isOperandNamed()为true, 求值结果为包实例, 然后重载点号操作符, 直到找到类元. | 需求 |
7 | 测试JspTagLib的集成方案, 尤其是对上下级关联的Tag测试. | 测试 |
8 | 加入对jsp2.1的taglib支持, 主要是EL的转变 | 需求 |
9 | 指令单元测试, 完善边界值测试, 提高测试覆盖率. | 测试 |
10 | 操作符单元测试, 操作符的个数比较多. 急需测试. | 测试 |
11 | 操作符重构, 操作符的分包, 命名等都不是很规范, 应尽快做一次全面重构. | 优化 |
12 | 操作符优先级调整及测试, 现在的优先级排列还需斟酌. | 优化 |
13 | 写一个验证性论坛, 用CT做全部页面, 用CT做代码生成, 用CT做SQL拼接模板. 并做压力测试. | 集成 |
14 | 写一个Ant脚本, 自动提取EL相关类打成jar包 | 集成 |
15 | 使用Maven发布 | 集成 |
16 | 全面检查序列化, 任何接口都不应继承Serializable, 但要保证整个模板树都是可序列化的. | 优化 |
17 | 完成.Net版的基础实现, 先从Java版导过去, 再重构. 工作量比较大. | 需求 |
18 | 使用Spring作为配置工具. 通过<beans>配置完成ConfigurationSettings的组装. 可以写一个转换器, 从现有的properies配置转换过去. | 需求 |
19 | 不同类型对比时,自动转换类型, 如:char与string对比时, int与float对比时, int与string对比时等. | 优化 |
20 | 实现XSLT解析, Velocity和FreeMarker都支持对XSLT的解析, CT也考虑实现, 但延后. | 需求 |
21 | Html标签属性语法外套优化, 主要是对不合法html标签的容错性的良好支持. 此功能可单独提取, 作为Velocity和FreeMarker等的扩展. | 需求 |
22 | 完成与AntTask的集成, 可用于代码生成等, 实现: org.commontemplate.tools.ant.TemplateTask | 需求 |
23 | 实现热加载国际化信息: org.commontemplate.standard.i18n.ReloadableResourceBundleProvider | 需求 |
24 | 实现国际化信息与struts2的集成, 也就是可分包, 分级放置properties文件, 而不是单一的properties文件, 并保证集成的简便性, 如需要, 可重构ResourceBundleProvider接口. | 需求 |
25 | 写Eclipse/NetBeans的编辑器插件, 可在某Html编辑器插件的基础上扩展. 完成高亮显示, 自动提示. | 需求 |
26 | 写CommonTemplate.exe, 类似notepad, 可双击打开.ct和.ctl结尾的模板文件(注册表关联), 并调用$test指令所提供的数据进行显示(可调用IE显示). | 需求 |
27 | 完成properties高亮显示的html过滤, 通用在内容中加入<font color=""></font>实现: org.commontemplate.standard.directive.filter.highlight.PropertiesCodeFilter | 需求 |
28 | 完成JS中特殊符的转码. org.commontemplate.standard.directive.filter.escape.JavaScriptEscapeFilter | 需求 |
29 | 将StringSequence实现List接口: org.commontemplate.standard.operator.sequence.StringSequence | 需求 |
30 | 完成网站的英文版 | 翻译 |
31 | 扩展指南页面内容未同步更新 | 优化 |
32 | ExpressionConfigurationSettings是否应与ConfigurationSettings合并? | 疑问 |
33 | StandardConfiguration重构, 加入: static StandardConfiguration loadStandardConfiguration() | 优化 |
34 | 是否应默认开启函数调用? 如果开启应可以用AOP的方式禁止调用某些有返回值函数,如:remove*, delete* | 疑问 |
35 | 代码生成时, 自动去掉块指令所在的空白行. 如: 模板通常会将$if和$end等放在单独的行中, 生成的文本会在指令位置出现空白行, 应实现一过滤器, 自动去掉该空白行. | 需求 |
36 | 重构异常, 分析ParsingException, RenderingException, EvaluationException等的关系. | 优化 |
37 | 缓存更新方式, 抽取策略接口, 加入Job线程定时更新缓存策略. | 优化 |
38 | 将表达式中与Java相同的和不相同的分开描述. | 文档 |
39 | 拆分util包到子包, 如: standard.util, 尽可能缩小根目录的util包? | 疑问 |
40 | 用多线程(多核CPU)模拟并发获取模板, 测试并发.
| 测试 |
41 | 通过跟踪内存栈, 记录模板编译后占用内存大小, 以及模板源内容大小, 给出测试结果Excel对照表 . | 测试 |
42 | 通过函数扩展或属性扩展实现: 四舍五入round, 绝对值abs, 最大值max, 最小值min, 平均值avg 等等 | 需求 |
43 | 是否应支持switch case, while等? | 疑问 |
44 | 是否应支持变量别名引用alias? | 疑问 |
45 | 是否应支持重复操作符, 如:str * 2 变成两str,扩展到list * 2, map * 2等 | 疑问 |
46 | String 操作符未实现功能: split, replace, indexOf, lastIndexOf等. 另外,应加入以某个char为分割符的前后段, 如: "xxx.txt".suffixOf(".")返回txt "xxx.txt".prefixOf(".")返回xxx | 需求 |
47 | 加强模板测试, 在test/integration/template/目录下放一个xxx.ctl, 写入模板, 在test/integration/result/目录下放同名的模板结果, 运行test/integration.TemplateTester可以进行自动测试. 另外, 模板结果的获取可以通过integration.OutTester得到, 它将读取模板文件test/integration/out.ctl的内容, 并将解析结果输出到控制台. | 测试 |
相关推荐
**共通模板(CommonTemplate)框架详解** 共通模板(CommonTemplate)框架是一个基于Java的JSP模板化工具,旨在简化Web应用中的视图层开发,提高开发效率和代码复用性。它允许开发者将HTML代码与Java代码分离,使得...
commontemplate-0.8.1.jar,是使用jwebap所需要的jar包。没有它,启动会有错误
**CommonTemplate进入中国开源软件竞赛决赛** 在信息技术领域,开源软件的发展日新月异,为全球的开发者提供了丰富的工具和平台。"CommonTemplate"作为一款参赛项目,成功进入了中国开源软件竞赛的决赛,这无疑是对...
*CommonTemplate-tpl_header.php * *thisfilecanbecopiedto/templates/your_template_dir/pagename *example:tooverridetheprivacypage *makeadirectory/templates/my_template/privacy *copy/...
- **如何在主模板中调用共通模板文件**:可以通过`@Html.Partial("_CommonTemplate.cshtml")`的方式在主模板中引入共通模板文件。 - **如何更改模板中的缩略图尺寸**:通常需要在模板文件中设置图片大小属性,例如...