论坛首页 入门技术论坛

我为什么不用struts

浏览 31246 次
该帖已经被评为新手帖
作者 正文
   发表时间:2011-04-18  
ice123456 写道

说句实话。我承认你说的都比较在理,有时候自己写一个简易工具(个人认为只是工具而已),有时候可能认为会比框架的功能好,也可以避免很多效率的问题。  但是我感觉你上面说的话,有点过重,导致其他喜欢struts2的人有点反感而已。


简单就是最好的设计,现在讲点道理,顾虑可真多啊。
0 请登录后投票
   发表时间:2011-04-18  
hexiaodong 写道
在用户对操作体验要求越来越高的情况下,浏览器富客户端越来越流行,意味着浏览器很多的交互动作是通过js控件完成的,除了编辑集合的表格控件,还有编辑目录结构的tree控件,以及其他一些表达复杂数据结构的控件都有可能在应用中出现,仅仅靠form中的input来编辑数据,来提交数据,你将会逐渐落伍的。

我想你没仔细看我的话。
1、说的是http提交参数的一个规范,form的input只是我用来举例子的一种形式,但是提交参数只要满足http规范即可,用什么形式不重要。
2、你所谓的表达复杂数据结构就比较......如果参数到这个数据结构的转换规则和协议是你自己定义的,那么几乎没有一个框架能满足你,如果你是采用规范的协议和规则转换的,那么很多框架都是支持的。
3、框架不可能覆盖你所有的需求。
0 请登录后投票
   发表时间:2011-04-18  
Agrael 写道
hexiaodong 写道
你没用过前端可编辑表格控件吧。用惯了桌面客户端的企业用户,不会允许你在浏览器放一大堆Input来当做表格的单元格来用的

只是提供一个形式而已,意味着是一个name,我故意这样写的,方便理解。你想着那是一个name就可以了。只要满足这个name格式,至于你怎么个形式提交方式,不重要。


hexiaodong 写道
在用户对操作体验要求越来越高的情况下,浏览器富客户端越来越流行,意味着浏览器很多的交互动作是通过js控件完成的,除了编辑集合的表格控件,还有编辑目录结构的tree控件,以及其他一些表达复杂数据结构的控件都有可能在应用中出现,仅仅靠form中的input来编辑数据,来提交数据,你将会逐渐落伍的。


其实hexiaodong大哥(个人年纪比较小),说的我非常赞同. 我在上家公司跟我主管2人讨论过这样的情况.也不知道我想的是不是对的...当页面越来越丰富的同时.可能后台只能需要接受数据或传递数据就可以了..页面的展示效果和表现形式完全可以脱离服务器来完成。

同时Agrael大哥也只是提出struts2,也可以达到这个功能而已。
0 请登录后投票
   发表时间:2011-04-18  
我要说的就是struts又复杂,又不能满足现在的需求啊。
再说了,order.user.id之类的命名又不是什么http规范,仅仅是struts为了能够把http参数注入action而约定的input命名格式。
采用json格式提交数据,既能够使代码最简化,又能提供最大的灵活性。
0 请登录后投票
   发表时间:2011-04-18  
hexiaodong 写道
ice123456 写道

说句实话。我承认你说的都比较在理,有时候自己写一个简易工具(个人认为只是工具而已),有时候可能认为会比框架的功能好,也可以避免很多效率的问题。  但是我感觉你上面说的话,有点过重,导致其他喜欢struts2的人有点反感而已。


简单就是最好的设计,现在讲点道理,顾虑可真多啊。


同意。就跟写代码一样,不用注释的代码就是最好的代码。但是你也认为你和你的同事或下属都是一样或差不多的水平吗?  你认为你永远不会带入学生开发人员吗?  我相信学生也可以很快去学习你写的框架,但是不一定他能理解你所完成的功能。
0 请登录后投票
   发表时间:2011-04-18  
楼主到底有没有真正玩过jsonplugin啊,你第二个问题说的是问题么,jsonplugin的配置不是可以让你用正则来设置哪些属性返回,哪些可以不要么,再说了什么输入型参数,输出型参数,要关注这些干嘛呢,就因为这些微不足道的东西把struts批得这么不是,学习成本高?再高也没有自己重写一个高吧,模仿一个MVC框架的功能并不难,难的是你这么短的时间内,能写出具有通用性,扩展性的框架么
0 请登录后投票
   发表时间:2011-04-18  
我的同事或者下属不一定要和我差不多水平,他们不学我的框架开发,就只能学更复杂的struts1或者struts2了。
我的框架仅需要1-2个小时的学习成本而已,前端都是封装好的Js控件,一般都是需要编写的js代码主要有form.getValue(),grid.getValue()和tree.getValue()等等,然后把得到的结果提交到服务器段就行了。
0 请登录后投票
   发表时间:2011-04-18  
hexiaodong 写道
我要说的就是struts又复杂,又不能满足现在的需求啊。
再说了,order.user.id之类的命名又不是什么http规范,仅仅是struts为了能够把http参数注入action而约定的input命名格式。
采用json格式提交数据,既能够使代码最简化,又能提供最大的灵活性。

整体并非struts2的格式,而是规范,以name-value的形式。并非input专用的。你用url的querystring也可以提交。
你使用json也需要一个name表示从哪个name取到json串,只是你提供了一个 json-->你的对象 的一个方式而已。

附带提一下,使用json提交数据是灵活性很大,但是验证安全性和完整性却很麻烦,这些都是相对的。
0 请登录后投票
   发表时间:2011-04-18  
simon_zhm 写道
楼主到底有没有真正玩过jsonplugin啊,你第二个问题说的是问题么,jsonplugin的配置不是可以让你用正则来设置哪些属性返回,哪些可以不要么,再说了什么输入型参数,输出型参数,要关注这些干嘛呢,就因为这些微不足道的东西把struts批得这么不是,学习成本高?再高也没有自己重写一个高吧,模仿一个MVC框架的功能并不难,难的是你这么短的时间内,能写出具有通用性,扩展性的框架么

这里也能见到你-。-无处不在啊。
是啊,想想学习成本。。。。。我写的框架MVC部分的xml配置和注解配置都尽量向struts2靠拢,都是尽量减少学习成本。。。。。。
0 请登录后投票
   发表时间:2011-04-18  
提交之后,你是用什么形式验证安全性和完整性呢?
在我的框架中json提交后被转换成java对象,然后在由java对象自己来验证就可以了。这个应该不麻烦吧。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics