返回信息流谁能告诉我它和ASP.NET的最大区别是什么?
ASP.NET有Code Behind;wicket也是。
ASP.NET不是MVC(我是指webform+codebehind的传统方法,我知道.net有MVC);wicket似乎也只是view。
ASP.NET是model1? 我看不出Wicket是Model2。
ASP.NET有HTML Control和Web Control?Wicket也能在服务器端用java代码操作HTML。难道不是把runat="server"换成wicket:id="xxxx"就成了Wicket了?
我只知道,Wicket不可能让你在html里嵌入java,但ASP.NET允许在html里嵌入VB,C#什么的。
这是一条镜像帖。来源:北邮人论坛 / www-technology / #14259同步于 2011/8/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
有人用过Apache wicket吗?
wks
2011/8/3镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
后者没用过,给你说说前者。
ASP.NET只是一种WEB开发理念的问题,它融会的是客户端程序开发事件驱动的理念,点一下鼠标等都会驱发一个事件,页面载入也会驱发一个事件等等,而传统的WEB开发唯一的驱动机制就是URL,它在web开发有很多创新的东西,比如说过事件驱动机制,页面状态保存,codebehind等,但也有缺点,封装性过强,不够灵活。
至于MVC,你就理解错了,webform+codebehind和MVC完全是两码事,前者更像现在的PM模型,比如WPF、SL等都是XAML和后端cs文件。MVC就是一种表现形式,Controller获得view请求,将请求流程处理后转发给MODEL,MODEL再将数据响应返给View,这是传统的MVC,也就是你说的的model1,而model2则是MODEL再将数据响应返给controller,controller处理后再给view
由于web界的驱动条件都是url,MVC对这种形式来说比较适合,所以web界的MVC很多,JAVA的struts,PHP的ZEND、CAKEPHP。ruby的rails还有.net mvc。
ASP.NET最初的理念就是抛弃HTML和CSS,你要是熟的话看一下每个控件的属性,就能调出各种页面效果,这样的话前端开发都得学习ASP.NET,这和一些大公司不符,你说的操纵HTML,都是服务器端把HTML当字符串来操作,这个看你的乐意,ASP.NET照样可以不用控件,拼接HTML字符串,这些最终都是由浏览器来处理。
我这里指的“操纵html”是指把HTML当作有结构的数据结构,而不是字符串来处理。或者说,服务器端知道HTML里面的元素的语义,处理模板的时候要解析HTML(当然,会缓存)。
比如ASP.NET把一个HTML元素作为一个对象,可以设定它的属性(有类型检查)什么的。Wicket也是这样,它可以知道每个HTML元素的含义,比如像操作数组、链表一样,往<select>里面添加<option>,select有对应的对象。这就是为什么我觉得Wicket像ASP.NET。
Wicket的模板机制是:只能通过节点替换(把某个DOM节点替换成另一个(一些)DOM节点)实现,不能随意插入文本。所以它号称可以抵抗XSS攻击。
【 在 wangjianzhou 的大作中提到: 】
: 由于web界的驱动条件都是url,MVC对这种形式来说比较适合,所以web界的MVC很多,JAVA的struts,PHP的ZEND、CAKEPHP。ruby的rails还有.net mvc。
: ASP.NET最初的理念就是抛弃HTML和CSS,你要是熟的话看一下每个控件的属性,就能调出各种页面效果,这样的话前端开发都得学习ASP.NET,这和一些大公司不符,你说的操纵HTML,都是服务器端把HTML当字符串来操作,这个看你的乐意,ASP.NET照样可以不用控件,拼接HTML字符串,这些最终都是由浏览器来处理。
: --
: ...................
【 在 wks 的大作中提到: 】
: 我这里指的“操纵html”是指把HTML当作有结构的数据结构,而不是字符串来处理。或者说,服务器端知道HTML里面的元素的语义,处理模板的时候要解析HTML(当然,会缓存)。
: 比如ASP.NET把一个HTML元素作为一个对象,可以设定它的属性(有类型检查)什么的。Wicket也是这样,它可以知道每个HTML元素的含义,比如像操作数组、链表一样,往<select>里面添加<option>,select有对应的对象。这就是为什么我觉得Wicket像ASP.NET。
: Wicket的模板机制是:只能通过节点替换(把某个DOM节点替换成另一个(一些)DOM节点)实现,不能随意插入文本。所以它号称可以抵抗XSS攻击。
: ...................
这可能是它自己的视图引擎吧?为了方便程序员不记哪些繁琐的HTML,自己用适合的语言写一个专门的视图引擎,到时来还是这个框架解析引擎代码为HTML。