UIComponent

开发自定义JSF组件(2) 使用Render渲染器

走远了吗. 提交于 2019-12-04 22:59:23
完整的教材: 开发自定义JSF组件(1) HelloWorld 开发自定义JSF组件(2) 使用Render渲染器 开发自定义JSF组件(3) 使用绑定变量 开发自定义JSF组件(4) 保存状态与恢复状态 开发自定义JSF组件(5) 在JSP中用JSF组件 上一节教程中定义的组件,使用组件本身的encodeBegin方法输出了html代码,更好的方法是使用Render类来输出,为什么要单独使用另外一个类来输出html代码呢?这跟mvc设计有关,这里的组件(model)保存了java的各种属性,而输出的视图可以是html、json、xml等等,所以需要使用Render类在model与view之间进行转换,通常我们只需要实现html的render就行了。 我们还是拿第1个教材的HelloWorld源代码进行改造 。 开发环境: Windows 7 IntelliJ IDEA 12.1.2 jboss-6.1.0.Final JSF 1.2 下面的5个步骤是这个组件的重构过程: 1、 定义组件UIHelloWorld,记住JSF的组件必须继承javax.faces.component.UIComponent或者它的子类。这里UIHelloWorld只是输出一句话,继承javax.faces.component.UIOutput最省事了,与上一节相比,这里去掉了encodeBegin方法

开发自定义JSF组件(5) 在JSP中用JSF组件

ⅰ亾dé卋堺 提交于 2019-12-04 22:59:08
完整的教材: 开发自定义JSF组件(1) HelloWorld 开发自定义JSF组件(2) 使用Render渲染器 开发自定义JSF组件(3) 使用绑定变量 开发自定义JSF组件(4) 保存状态与恢复状态 开发自定义JSF组件(5) 在JSP中用JSF组件 采用JSF架构的应用,也有很多项目是使用jsp而不是facelets。如果要在JSP里使用JSF组件,还得编写jsp的标签库,不过与JSP标签又不尽相同,下面我再次重构HelloWorld项目,看看JSP页面如何使用<ida:hellWorld />标签。 开发环境: Windows 7 IntelliJ IDEA 12.1.2 jboss-6.1.0.Final JSF 1.2 HelloWorld的 重构过程: 1、 新建HelloWorldTag,JSF1.2继承UIComponentELTag,网上很多教材都是JSF1.1版本的,继承的是UIComponentTag,这个类在JSF1.2已过时。 public class HelloWorldTag extends UIComponentELTag { private static final String COMPONENT_TYPE = "com.regaltec.faces.HelloWorld"; private static final String

开发自定义JSF组件(1) HelloWorld

橙三吉。 提交于 2019-12-03 21:02:24
完整的教材: 开发自定义JSF组件(1) HelloWorld 开发自定义JSF组件(2) 使用Render渲染器 开发自定义JSF组件(3) 使用绑定变量 开发自定义JSF组件(4) 保存状态与恢复状态 开发自定义JSF组件(5) 在JSP中用JSF组件 公司决策层选择了JSF做页面,WEB开发人员不容易呀,一个页面动不动就几千行,如果一个新人加入团队,估计都看晕了。我今天要写的课程,就是跟简化页面代码有关系了。自定义组件不但可以复用代码,还能让页面的代码更简洁。自定义JSF组件与JSP标签不是一回事,这里我做一个HelloWolrd的示例,这个示例是循次渐进的演进,不只是一个简单的Hello World,不过看这课程的同学需要有JSF基础。 用过JSF的同学都知道,JSF的视图可以选择JSP或Facelets技术,而绝大部份人好像对Facelets情有独钟,我们公司也不例外用了Facelets。所以我们就从做一个支持Facelets组件开始。 这个组件组件很简单,就是根据name属性输出一句话,如下面这行代码输出为:你好,世界! <ida:helloWorld name="世界" /> 开发环境: Windows 7 IntelliJ IDEA 12.1.2 jboss-6.1.0.Final JSF 1.2 下面的步骤是实现这个组件的过程: 1、