我使用Freemarker +一些JS框架(如ExtJS)开发了一段时间。现在我听到很多关于Wicket的讨论,所以我试图理解利弊。在读完Wicket的介绍后,我感慨万千。以下是我的结论。我知道我有偏见,但不要把它当作进攻。而不是误解,因为我真的试图看看Wicket是否可以切换到:
对于那些现在可以用来构建前端的Java程序员的公司来说,这似乎很有用。另一方面,作为前端开发人员,这对我来说很奇怪,因为我觉得我没有完全控制JScript代码。
由于Wicket使用Java为我生成HTML / CSS / JScript UI控件,这意味着如果我需要在他们的框外调整这些控件,这可能会有问题。根据我的经验,任何框架都是好的,直到你开始做一些与预期不同的东西,然后你可以花更多的精力尝试做简单的开箱即用的东西,然后使用原生的JScript。是否有Wicket控件的JScript源?
原型设计:使用Freemarker我可以进行更改,只需刷新页面即可。如果是Wicket,我需要重新编译。
逻辑块:看起来Wicket允许使用wicket:属性将值注入到HTML标记中,但是如何处理块逻辑(如IF(条件))然后{使用HTML block1}否则{使用另一个HTML块}?< / p>
非html数据模板:通常在页面生成期间,我从FreeMarker里面的标签中编写一些AJAX数据。我如何从Wicket做类似的事情?
在Wicket中创建自定义UI控件是否更难/更简单?
感谢您的评论。
答案 0 :(得分:2)
Freemarker或JS不是一个Web框架。 你用什么?一个原始的Servlet?你的比较看起来很奇怪。
在Wicket中您可以使用模板,内置Velocity面板,或查找或构建Freemarker面板。编写这种类型的Panel需要几个小时(对于活跃的Wicket程序员),但是你可以多次重复使用它。注入(来自面板)HTML部分必须有效,html标签关闭等。
3)Wicket在标记中没有if-else构造。也许使用Comcoment.setVisible(false),或者非常好的循环(少数中继器:https://cwiki.apache.org/WICKET/reference-library.html看看例子)。