论坛首页 Java企业应用论坛

发现JBoss Seam很棒呀!有用Seam做过项目的吗?

浏览 125094 次
该帖已经被评为精华帖
作者 正文
   发表时间:2008-07-13  
phoenixup 写道


1.Seam 2的版本中默认的视图展现是Facelets的xhtml,配合jsfc标签,完全不存在robbin你说的问题,不过jsp遗留的tag确实是不能避免,但是有了Faceltes这个貌似不是问题了。



请教:我用seam 2(使用JBossTools-2.1.1或seam-gen),它没有生成jsfc标签,还是用的tag。有什么开关选项没打开?
我说的是工具生成时自带jsfc,而不是手工生成让它来支持。

另:seam能很好地和flex集成,用tide(http://www.graniteds.org/confluence/display/DOC11/2.8.+Tide+integration+for+Seam),flex程序可以直接调用seam的组件,如同rmi。更妙的是flex可以监听seam的事件(这可是两个世界之间的事哟),flex可以绑定seam的组件中的属性,让seam充当flex的model层。
0 请登录后投票
   发表时间:2008-07-13  
其实有不少纯粹把Seam当作Data Center,不用Facelet/JSF,前端Ext/dojo,这样的配搭一样用得很好
0 请登录后投票
   发表时间:2008-07-14  
一、Seam的View实现是JSF,看页面代码还是密密麻麻的Tag

我是非常反感JSP Tag的,看看页面密密麻麻的Tag就头皮发麻,能不能弄一个Template呀,例如freemarker啥的?这些Tag既不直观,也不方便扩展。需要扩展页面组件,总不能让我自定义Tag去干活吧?不清楚这个问题怎么办?像freeamarker还可以方便的自定义页面宏呢。

二、每次修改都要重新打包发布,太麻烦了吧

就算修改一个页面,也要整个打包deploy成为一个ear去拷贝到jboss的应用目录下面,这个要是改页面,不是得烦死? 我以前都是在项目里面直接内嵌Jetty,作为一个application启动,修改页面根本无需重起呀,更不要说deploy了。

举个例子:如果不用tag方式的话,我们写一个ajax调用,使用js框架的话,我们需要导入js文件,写ajax连接,操作,关闭。难道这些js代码比tag代码更容易看懂?
每次打包发布是因为没有集成到ide开发工具中去,我用red-hat developer开发工具大部分情况下不能重启的,所需要重启的只是在添加了类,方法的时候需要。

我对jsf的template不满的是,他的文件不能写道web-inf下面,不能像struts那样写虚拟路径,例如我要访问webapp下面的a/b/a.xhtml的话我必须使用sss.com/a/b/a.seam都必须使用绝对路径,这样写道话css调用很不方便。
0 请登录后投票
   发表时间:2008-07-15  
zhongshigang 写道
phoenixup 写道


1.Seam 2的版本中默认的视图展现是Facelets的xhtml,配合jsfc标签,完全不存在robbin你说的问题,不过jsp遗留的tag确实是不能避免,但是有了Faceltes这个貌似不是问题了。



请教:我用seam 2(使用JBossTools-2.1.1或seam-gen),它没有生成jsfc标签,还是用的tag。有什么开关选项没打开?
我说的是工具生成时自带jsfc,而不是手工生成让它来支持。

另:seam能很好地和flex集成,用tide(http://www.graniteds.org/confluence/display/DOC11/2.8.+Tide+integration+for+Seam),flex程序可以直接调用seam的组件,如同rmi。更妙的是flex可以监听seam的事件(这可是两个世界之间的事哟),flex可以绑定seam的组件中的属性,让seam充当flex的model层。

Seam有自生成jsfc标签,不过不是用开关项打开的,好像是在某个脚本生成的页面中,有一个jsfc标签的演示代码,正确的写法如果Taglib不想记,就先用标准标签写(可以使用代码提示),完成之后在统一修改成jsfc标签就OK了~~seam-gen工作不能完成所有的事情。。不过如果想做也没问题,你把Seam的模板修改成jsfc就可以了。。。呵呵
0 请登录后投票
   发表时间:2008-07-15  
nbaertuo 写道
一、Seam的View实现是JSF,看页面代码还是密密麻麻的Tag

我是非常反感JSP Tag的,看看页面密密麻麻的Tag就头皮发麻,能不能弄一个Template呀,例如freemarker啥的?这些Tag既不直观,也不方便扩展。需要扩展页面组件,总不能让我自定义Tag去干活吧?不清楚这个问题怎么办?像freeamarker还可以方便的自定义页面宏呢。

二、每次修改都要重新打包发布,太麻烦了吧

就算修改一个页面,也要整个打包deploy成为一个ear去拷贝到jboss的应用目录下面,这个要是改页面,不是得烦死? 我以前都是在项目里面直接内嵌Jetty,作为一个application启动,修改页面根本无需重起呀,更不要说deploy了。

举个例子:如果不用tag方式的话,我们写一个ajax调用,使用js框架的话,我们需要导入js文件,写ajax连接,操作,关闭。难道这些js代码比tag代码更容易看懂?
每次打包发布是因为没有集成到ide开发工具中去,我用red-hat developer开发工具大部分情况下不能重启的,所需要重启的只是在添加了类,方法的时候需要。

我对jsf的template不满的是,他的文件不能写道web-inf下面,不能像struts那样写虚拟路径,例如我要访问webapp下面的a/b/a.xhtml的话我必须使用sss.com/a/b/a.seam都必须使用绝对路径,这样写道话css调用很不方便。



一、Seam推荐的View是用Facelets代替JSP(JSF?可能笔误吧),说道Template,最通用的Template是html,的确freemarker很优秀,但是不足以扳倒xhtml,各有特色。再有Tag的写法不是JSP才有,所有的模板文件本质上都是Tage的组合。

二、每次修改不要重新打包(说了很多次了。。。自己认真看看)

三、使用Facelets template文件可以写在Context的任意位置,包括WEB-INF中。
0 请登录后投票
   发表时间:2008-07-15  
    我不知道robbin以前有没有了解过JSF,其实你所说的这些快速开发、简化框架,数据绑定,事件驱动是JSF本身的特性,我看到seam有这些特性,一点都不惊讶,它是以JSF规范和EJB3规范为中心的一个产品的延伸。JSF和ejb3的结合可以解决你80%的问题,JSF控制VIEW层,session bean业务层,entit bean持久层(ejb3的规范已经建议不要叫entity bean了,叫 persistence unit),贯穿从请求到响应纵向生命周期,seam提供的诸如工作流,邮件,消息驱动bean等等则横向拓展了seam可以控制的业务范围,让开发人员有更多的选择。seam的产品结构,我觉得就像一个十字架一样。
     我短时间内不太看好seam,因为并没有多少人喜欢用JSF,虽然数据绑定和事件驱动机制可以节省很多时间,让人觉得很轻便,但是JSF的弊端也有很多。
     JSF的tag非常繁琐,导致美工与开发人员之间很难协调,有时候还不能正确的呈现css的效果。 所谓的tag,我一直认为,在关键的或者数据繁多的地方,用一个tag解决,那确实是一件让人感觉惬意的事情,可以如果整个页面,就连一个小小的输入框都要用tag,那真让人觉得头疼,有人说为什么你一定要用JSF tag呢,因为有的地方你的输入框和数据绑定了,你还要使用时间驱动,事件驱动又要靠JSF去实现,你说能不用JSF tag吗?而且JSF的页面布局也是非常的难搞,页面布局一个很小的改动你都要调试半天,常用的网页编辑工具又对它没什么用,因为它都是自己的tag,dreamweaver傻眼了,不知道怎么办,页面效果面目全非,这个对于web系统来说,是非常伤脑筋的。而且JSF的生命周期也有些奇怪,有些问题不太可控,我不知道seam里的JSF实现的如何,05年刚毕业的时候,我们项目组用sun的JSF的一个标准实现开发项目,出现了很多问题,导致最后不得不放弃JSF,我从此对JSF印象就不太好。时至今日,不知道JSF的实现是否精益求精了。如果有一个很完美的JSF页面插件,直接拖拽,相信喜欢JSF的人越来越多,SEAM的粉丝也会越来越多。
已被评为好帖!
   发表时间:2008-07-15  
楼上的说的好。俗话说,客户就是上帝,而上帝只关心的的是功能性,功能性主要体现在ui的呈现上。 所以一个应用最主要的是ui,其次才是可扩展 可维护性,所以说不要过于在追求新的技术,了解关注即可。 很多企业应用还是建立在成熟稳定的架构上的。
0 请登录后投票
   发表时间:2008-07-16  
大批的人说JSF不说,就算有偏差,也说明JSF确实存在问题。希望牛人们能总结一下JSF的优缺点。客观点说。
0 请登录后投票
   发表时间:2008-07-16  
无论MyFaces还是Seam自带的元件根本不够用,JSF如果要做出好一些的效果需要自己定制页面元件,甚至要写一些标签和Component,但大部分制作UI的人并不喜欢这种方式,认为这是做业务逻辑的程序员的事情,但程序员认为这是UI Team的事情,所以JSF两头不讨好。
0 请登录后投票
   发表时间:2008-07-16  
现在RichFaces和IceFaces提供的JSF的实现已经足够好了,自定义JSF标签也不是必须的。
问题是如何让现有的页面开发人员熟悉JSF的开发流程才是问题的根源。JSF上手慢也确实是事实。

http://livedemo.exadel.com/richfaces-demo/welcome.jsf
http://component-showcase.icefaces.org/component-showcase/showcase.iface
1 请登录后投票
论坛首页 Java企业应用版

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