发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 云架构 框架 开发教程 SOA 大数据 扩展性 并发编程 EDA 分布式 函数编程

我觉得Jato很优雅

2002-11-14 20:05
赞助商链接

我一直认为 Taglib 不应该滥用
用得少而精最好,大量的使用会带来维护和管理上的麻烦.

JATO 中的 taglib 用得非常精。
它用 Taglib 激发 ViewBean 的显示与视图事件。

举个例子
<jato:viewBean name="CustomerInfo">
<jato:text name="CustomerName"/>
</jato:viewBean>

这是在 JSP 中的 jato tag. 它是用来显示客户名称的一个 static text field.
当 JSP 解析到这个 tag 时,它会在 CustomerInfo ViewBean中触发一个
beginCustomerNameDisplay(Event e) 的事件.
于是,你可以在这个事件中先设置一下这个组件的属性,如给它附个值什么的.

另外再举一个例子。

<jato:viewBean name="CustomerInfoModify">
<jato:textField name="CustomerName"/>
<jato:button name="Submit"/>
</jato:viewBean>

当你点击 Submit 按钮时,在 CustomerInfoModifyViewBean 中会触发一个
handleSubmitRequest(Event e)的事件,于是,你就可以在那个方法中去实现
你的业务逻辑:
handleSubmitRequest(Event e){
String name = getDisplayFieldStringValue("CustomerName");
CustomerModel model = new CustomerModelImpl();
model.addUserWhereCondition(USER_NAME,name);
model.update();
// forward to this view and make it refresh
forward();
// Also you can redirect to other view by these code:
// ViewBean view = getViewBean(UpdateSuccessfulViewBean.class);
// view.forward(e.getRequestContext());
}

2002-11-14 20:06

我一直认为 Taglib 不应该滥用
用得少而精最好,大量的使用会带来维护和管理上的麻烦.

JATO 中的 taglib 用得非常精。
它用 Taglib 激发 ViewBean 的显示与视图事件。

举个例子

<jato:viewBean name="CustomerInfo">
<jato:text name=
"CustomerName"/>
</jato:viewBean>

这是在 JSP 中的 jato tag. 它是用来显示客户名称的一个 static text field.
当 JSP 解析到这个 tag 时,它会在 CustomerInfo ViewBean中触发一个
beginCustomerNameDisplay(Event e) 的事件.
于是,你可以在这个事件中先设置一下这个组件的属性,如给它附个值什么的.

另外再举一个例子。

<jato:viewBean name="CustomerInfoModify">
<jato:textField name=
"CustomerName"/>
<jato:button name=
"Submit"/>
</jato:viewBean>

当你点击 Submit 按钮时,在 CustomerInfoModifyViewBean 中会触发一个
handleSubmitRequest(Event e)的事件,于是,你就可以在那个方法中去实现
你的业务逻辑:

handleSubmitRequest(Event e){
String name = getDisplayFieldStringValue("CustomerName");
CustomerModel model = new CustomerModelImpl();
model.addUserWhereCondition(USER_NAME,name);
model.update();
// forward to this view and make it refresh
forward();
// Also you can redirect to other view by these code:
// ViewBean view = getViewBean(UpdateSuccessfulViewBean.class);
// view.forward(e.getRequestContext());
}

注:这里的代码只是未例,不是真正的 JATO 代码

2002-11-15 11:34

iceant兄,你能不能多讲点Jato,特别是和其它体系如Struts 或petstore的区别?

2002-11-16 19:39

IBM上的好文章

2002-11-17 01:54

我对 Struts 不是很熟,怕写出来班门弄斧。^_^

前几天,我到 jakarta 的主页上去看过,Struts 的文档,比以前的要好了很多,详细了很多。改天,我好好看看.

我的印象是 Struts 是从一个 taglib 的项目起家的,而且是紧跟 PetStore 的设计思路(毕竟 PetStore 比 Struts 出现得早).

JATO 我第一眼看到它时,认为它设计得很脏,怎么把 ViewBean 和 JSP 绑得这么紧(在 ViewBean 里用 Hard Code 指定了 JSP 文件的路径),按照我自己的设计习惯,肯定是用一个 XML 文档做配置,实现视图表现(JSP)和视图逻辑(ViewBean)的分离,最少我觉得那样更加松耦合。
但是后来开始试用了一下,才发现,这是很有道理的.毕竟对于一个项目来说,有很多东西本来就是固定的。而且这样的固定减少了方案选择的时间,开发起来更快(谁不希望多些时间陪 GF 吃饭呢 ^_^).另外,替换一个XML配置和替换一个 JSP 文件,没有多大区别!

我的感觉就是,需要的配置太多,并不是一件好事,这带来了管理上的成本,很有必要在灵活性与成本上做个权衡. 对于灵活性,我认为必须要有相应的可视化辅助工具出现,才能适合大规模的应用,而开发这样的工具需要一定的成本!!!

Struts 已经有一些可视化工具出现,这是它以后广泛应用的基础。
JATO 更领先 Struts 已经出现商业化的开发工具(SUN ONE Application Framework)

BTW: Apusic 也有相应的解决方案,Apusic BOS.

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com