精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-03-08
nihongye 写道 引用 这种sequence函数用jsp写是要累死的吧?
这么写 xx.sequence( new String[]{"name","price","isbn"},new ThFunction(writer) ) 类型呢?这个sequence函数可是一个通用函数。java是强类型的。ThFunction肯定实现一个Function接口咯?sequence函数的签名肯定是sequence(Object[] arr, Function f)咯? Function的签名肯定是String fun(Object obj)咯? Function的具体实现类内部肯定要把这个obj cast到需要的类型咯? 一旦遇到系统没有预定义的函数,还要写匿名类咯? 其实真说起来拿jsp的函数来封装显示逻辑也不是完全不可以,只要不怕搞字符串拚接,没什么做不了的。 java是强大的,jsp也是强大的,只要肯吃苦。 ![]() |
|
返回顶楼 | |
发表时间:2006-03-08
:idea: 差不多全对了.
所以产生动态网页的脚本提供简便的对象导航和保持html原始样式相对重要. |
|
返回顶楼 | |
发表时间:2006-03-08
nihongye 写道 :idea: 差不多全对了.
所以产生动态网页的脚本提供简便的对象导航和保持html原始样式相对重要. 对呀。所以还是回到原始的问题:jsp不好用。但是freemarker和Jet就好些。相比于freemarker,你觉得Jet的缺陷在哪里?Jet有没有比freemarker优越的地方? |
|
返回顶楼 | |
发表时间:2006-03-09
freemarker比较直观,约定比较简洁
${} 输出 < /> 控制 <@ /> 宏 ? 内置转换 jet 一眼看过去有点晕。 |
|
返回顶楼 | |
发表时间:2006-03-09
平时用velocity,想了想没什么好建议
![]() 问个小问题 假如要这样的 foreach item in items <th class="aa">item.name</item><th>item.price </item> end 需要怎么写? |
|
返回顶楼 | |
发表时间:2006-03-09
nihongye 写道 平时用velocity,想了想没什么好建议
![]() 问个小问题 假如要这样的 foreach item in items <th class="aa">item.name</item><th>item.price </item> end 需要怎么写? 这样: sequence items \item->$$<[ <th class="aa">${item.name}</th><th>${item.price}</th> ]>$$ |
|
返回顶楼 | |
发表时间:2006-03-09
lllyq 写道 freemarker比较直观,约定比较简洁
${} 输出 < /> 控制 <@ /> 宏 ? 内置转换 jet 一眼看过去有点晕。 jet约定不简洁? ${}输出 函数负责所有其他事情 然后没了。 说实话,freemarker我头三眼看上去都是有点晕的。不熟悉语法谁都会有点晕的。 |
|
返回顶楼 | |
发表时间:2006-03-09
ajoo 写道 lllyq 写道 freemarker比较直观,约定比较简洁
${} 输出 < /> 控制 <@ /> 宏 ? 内置转换 jet 一眼看过去有点晕。 jet约定不简洁? ${}输出 函数负责所有其他事情 然后没了。 说实话,freemarker我头三眼看上去都是有点晕的。不熟悉语法谁都会有点晕的。 回头想想我上面说错了,应该是这样理解 ${} 输出 <# /> 内置宏 <@ /> 自定义宏 ? 以自身作为参数调用内置函数 其中,自定义宏可嵌套。 ajoo的函数语法就是Jaskell么,我是不清楚Jaskell语法,感觉功能很强,但是感觉约束很多,不够简洁。不如几句话介绍一下?[/i] |
|
返回顶楼 | |
发表时间:2006-03-09
呵呵。jaskell相比haskell约束已经少的很多了。
不知道你所说的“约束”指什么呢? jaskell/jet里面定义函数很简洁呀: add a b = a+b |
|
返回顶楼 | |
发表时间:2006-03-09
这样啊,那么ajoo应该调查一下
你这样的说明有多少用户很容易理解你上面的例子,如果都觉得容易理解,自然就会考虑用jet ![]() |
|
返回顶楼 | |