该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-27
前半部分的那几种基本匹配觉得还不错,后面的感觉并没有减少配置数,就像kjj说的
引用 配置从xml分散到源文件中了 还有几个问题,下面这个例子是不是有点错误啊? 引用 com.demo2do.lighturl.action.user.View ---> http://host:port/app/user/3456 com.demo2do.lighturl.action.blog.View ---> http://host:port/app/user/1113 下面这个代码,怎么感觉不像Java代码呢, @Override @Action("/all/search-user") 能编译通过吗?还是要装了插件才能通过? /* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#execute() */ @Override @Action("/all/search-user") public String execute() throws Exception { return super.execute(); } |
|
返回顶楼 | |
发表时间:2008-09-27
zhudp.cn 写道 前半部分的那几种基本匹配觉得还不错,后面的感觉并没有减少配置数,就像kjj说的
引用 配置从xml分散到源文件中了 还有几个问题,下面这个例子是不是有点错误啊? 引用 com.demo2do.lighturl.action.user.View ---> http://host:port/app/user/3456 com.demo2do.lighturl.action.blog.View ---> http://host:port/app/user/1113 下面这个代码,怎么感觉不像Java代码呢, @Override @Action("/all/search-user") 能编译通过吗?还是要装了插件才能通过? /* (non-Javadoc) * @see com.opensymphony.xwork2.ActionSupport#execute() */ @Override @Action("/all/search-user") public String execute() throws Exception { return super.execute(); } 这是Annotation,如何会编译不过? com.demo2do.lighturl.action.blog.View ---> http://host:port/app/user/1113 写错了,正确的应该对应: com.demo2do.lighturl.action.blog.View ---> http://host:port/app/blog/1113 |
|
返回顶楼 | |
发表时间:2008-09-27
感觉不错,省去了xml文件的配置,方便、简单许多!
但是我有一个问题请教? 假如到后面要做些配置的更改,那岂不是又要重新编译类,如果是写在xml文件里的话,是否比写在类里更方便呢? |
|
返回顶楼 | |
发表时间:2008-09-28
h521999 写道 感觉不错,省去了xml文件的配置,方便、简单许多!
但是我有一个问题请教? 假如到后面要做些配置的更改,那岂不是又要重新编译类,如果是写在xml文件里的话,是否比写在类里更方便呢? 不要被那些所谓的修改配置不用编译源文件的假象骗了。 目前的情况下,绝大多数的系统配置,是在系统启动的时候load到内存中,在运行过程中不再做修改。struts虽然有reload的选项,但是在生产环境中,我们绝不可能采用这种选项。那么配置写在xml和写在源文件中有什么本质区别呢?我认为唯一的区别就在于配置是否需要分离关注点。至于是否重新编译,并不是问题的关键。 其实这个帖子的重点并不在于省去什么配置,或者把配置挪了个位置,而在于我们对url的正确规划和设计。举例来说,就在我回帖的时候,浏览器的url地址是这样: http://www.iteye.com/forums/39/topics/242838/posts/682362/quote 至今为止,我还没有见到一个Java的Framework可以做到支持上面这样的表述完整而清晰的url,这可能是rails占有其很大优势的地方。所以我一直试图把url的正确规划和设计引入到Java中来。LightURL就是为了实现这一点。 所以希望大家不要仅仅把关注点集中在配置多少、配置放在什么地方来考虑问题,而把更多的关注点放在你如何来安排你的表示层url和你的Action代码上去。 |
|
返回顶楼 | |
发表时间:2008-09-28
小日本一直看不惯的就是“配置”
叫的口号也一直是“简化配置” |
|
返回顶楼 | |
发表时间:2008-09-28
很棒的尝试。不过何不参考Rails的REST URL机制进行URL规则的设计呢?
|
|
返回顶楼 | |
发表时间:2008-09-28
robbin 写道 很棒的尝试。不过何不参考Rails的REST URL机制进行URL规则的设计呢?
之前是这么想的,不过又不想限制得太死,所以暂时就采用了annotation的方式,允许类Url模板的形式出现。 我想下一个版本可能会考虑与Rails的RESTFUL URL机制一致。 |
|
返回顶楼 | |
发表时间:2008-09-28
struts2.1.2已经有这个功能了
|
|
返回顶楼 | |
发表时间:2008-09-29
tywo45 写道 struts2.1.2已经有这个功能了
struts2.1.2只是增加了annotation功能,但是不支持类似url template和某些特殊的url映射。 前几天有一个朋友向我指出LightURL的一个问题,这也可能是很多CoC存在的问题。在使用xml配置的年代,需要根据URL来找一个Action相对比较方便,因为只要在一个文件中进行查找就好了。但是使用CoC之后,并没有一个具体的文件来记录这些对应关系,所以想查找这样的对应关系非常的困难。 |
|
返回顶楼 | |
发表时间:2008-09-29
downpour 写道 tywo45 写道 struts2.1.2已经有这个功能了
struts2.1.2只是增加了annotation功能,但是不支持类似url template和某些特殊的url映射。 前几天有一个朋友向我指出LightURL的一个问题,这也可能是很多CoC存在的问题。在使用xml配置的年代,需要根据URL来找一个Action相对比较方便,因为只要在一个文件中进行查找就好了。但是使用CoC之后,并没有一个具体的文件来记录这些对应关系,所以想查找这样的对应关系非常的困难。 Rails的routes.rb就是描述URL映射的,rails也带了rake,一个命令就可以打印出来整个web应用的所有URL对应关系,所以查找不是问题。 |
|
返回顶楼 | |