JSF Myfaces trinidad开发的一些体会
因项目开发需要,考察了一些JSF的实现,在页面层选择了Myfaces trinidad标签库,现记下一些具体的体会,留待讨论:
1,Myfaces trinidad标签库从下载的demo上看,表现形式比较丰富。如果是新建项目的开发,可以全部选择它提供的标签。由于我们项目原
来使用的是Myfaces tomahawk标签,经测试绝大多数情况下也可以和Myfaces trinidad标签一起混合使用,但有时会有一些问题,后述。
2,项目主要采用的集成开发环境(IDE)为基于Eclipse3.2的BEA Workshop studio3.2,在此环境下,原有的Myfaces tomahawk标签在JSF页面很
好的可视化显示出来,而Myfaces trinidad尽管也能显示,但是可视化效果要差一些。如命令按钮上并没有显示实际的资源文字等。听说Sun的
Netbeans 6.0内置了Glassfish的应用服务器,且JSF可视化开发效果不错,但目前还没有试过。
3,在使用Myfaces trinidad标签库中的布局组件,如<tr:panelFormLayout>,<tr:panelGroupLayout>等的时候,感觉并不如JSF核心布局组件,如
<h:panelGrid>,<h:panelGroup>等标签那样简单易用,且将其结合使用时经常遇到显示效果不是预想效果的问题,相信这主要是由于目前阶段对
Myfaces trinidad布局标签的掌握还不熟练的原因。
4,Myfaces trinidad标签库的输入类标签,如<tr:inputText>在使用时,对应的最终实现的html页面的表单中,不像市面上绝大多数JSF书籍上
所说的那样,用formname:id来引用,而是直接用id来引用,这样就造成了同时使用两套标签库(如Myfaces trinidad和Myfaces tomahawk)时,需要
根据情况分别判断。
5,在代码中需要Myfaces trinidad标签对应组件时,Myfaces trinidad标签的输入类标签(如<tr:inputText>)映射到的实际组件是包
org.apache.myfaces.trinidad.component.core.input下的类对象,如<tr:inputText>对应org.apache.myfaces.trinidad.component.core.input.CoreInputText,获得
其值时可用getValue(),而JSF core标签<h:inputText>对应javax.faces.component.UIInput类对象,可以在代码处理时另行判断。
以上是目前在使用该标签库开发时的一些体会,欢迎交流。