- 浏览: 330955 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
谢谢,写的不错。
使用hector操作Cassandra -
mr_von:
非常感谢!
paoding的分词使用 -
howgoo:
http://www.dhtmlx.com/docs/prod ...
dhtmlxGrid分页与排序 -
青春的、脚步:
谢谢
spring-data-mongodb的MongoTemplate 使用小例子 -
青春的、脚步:
xiaofancn 写道青春的、脚步 写道这个能查询都个值在某 ...
spring-data-mongodb的MongoTemplate 使用小例子
这是我们的项目的文件位置
1、开发我们的JSF组件
编写UIOutput类型的组件Java类
import java.io.IOException; import javax.faces.component.UIOutput; import javax.faces.context.FacesContext; import javax.faces.context.ResponseWriter; public class UIBolder extends UIOutput { public void encodeBegin (FacesContext context) throws IOException { // FIXME: Open the HTML tag for bold text ResponseWriter writer = context.getResponseWriter(); writer.startElement("h2", this); } public void encodeEnd (FacesContext context) throws IOException { // FIXME: Close the HTML tag for bold text context.getResponseWriter().endElement("h2"); } }
faces-config.xml中注册我们组件类
<?xml version="1.0" encoding="UTF-8"?> <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"> <!-- Custom components: FIXME: Register the new custom component --> <!-- View and data beans: --> <!-- 注册组件 --> <component> <component-type>bold</component-type> <component-class>training.UIBolder</component-class> </component> <!-- Navigation rules: --> <navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>show</from-outcome> <to-view-id>/jsp/View.jsp</to-view-id> </navigation-case> </navigation-rule> <!-- Application configuration: --> <application> <locale-config> <default-locale>en</default-locale> </locale-config> </application> </faces-config>
2、开发自定义标签
编写标签Java类
import javax.faces.webapp.UIComponentELTag; public class BolderTag extends UIComponentELTag { @Override public String getComponentType () { //返回faces-config.xml中组件的名字 return "bold"; } @Override public String getRendererType () { return null; } }
在bolder.tld文件中定义标签
<?xml version="1.0" encoding="UTF-8"?> <taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"> <tlib-version>1.0</tlib-version> <short-name>bold</short-name> <!-- 定义页面使用的标签 --> <uri>http://www.snailteam.org/</uri> <tag> <name>uibold</name> <tag-class>training.BolderTag</tag-class> <body-content>JSP</body-content> </tag> </taglib>
3 、使用我们的自定义组件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://www.snailteam.com/" prefix="d"%> <html> <head> <title>Lab JSF Component</title> <link rel="stylesheet" href="fred.css" type="text/css" /> </head> <body> <f:view> <p>Fred says, show how to use custom component!</p> <h:form id="main"> <h:panelGrid id="grid" columns="2"> <f:verbatim>New component:</f:verbatim> <!-- FIXME: Use the new custom tag to display the following text in bold font --> <!-- 使用tld中的tag name --> <d:uibold>This my Bolder font</d:uibold> <f:verbatim>JSF bold component</f:verbatim> </h:panelGrid> </h:form> </f:view> </body> </html>
发表评论
-
spring cloud gateway 全局过滤器。
2019-03-17 23:11 527spring cloud gateway 网关 ... -
elasticsearch 5.4搜索
2017-05-19 08:37 148@Test public void t ... -
netty简单的操作memcached
2017-04-19 18:59 976pom文件 <dependency> ... -
juc系列-Executor框架
2017-03-20 13:34 699转自 juc系列-Executor框架 什 ... -
ReentrantLock 类
2017-03-19 21:11 11.1 什么是reentrantlock java.u ... -
juc之CountDownLatch、CyclicBarrier和Semaphore例子
2017-03-19 17:23 833import java.util.concurren ... -
netty客户端与服务端例子
2017-03-12 20:07 2799package com.snailteam.nett ... -
freemaker集成spring
2017-02-26 19:00 567<bean id="freeMark ... -
spring集成Hessian插件配置改成自动注入。
2017-02-10 15:39 834原来的配置 <bean name="/ ... -
web开发模版
2017-02-09 14:42 0# Rules reminder: # DEBUG &l ... -
Java多线程
2017-02-04 14:39 515线程状态图 新建状态(New): ... -
hash冲突解决
2017-01-23 18:30 4541、开放地址法有一个公式: m是hash表长度,di ... -
mybatis +spring 分库
2015-04-30 17:56 353<context:component-scan b ... -
Java并发任务处理例子
2014-02-12 16:06 1125public void init() { su ... -
JAVA动态代理模式
2012-10-03 01:01 1183这是我要实现的效果 public static ... -
paoding的分词使用
2012-06-13 21:30 4865paoding下载 http://code.googl ... -
使用spring-hadoop操作hadoop
2012-05-20 02:12 32参考文章 http://blog.springsource. ... -
solr3.5集成paoding和位置搜索及对solrj的使用。
2012-04-28 02:12 1978http://xiaofancn.iteye.com/blog ... -
日期处理DateUtils
2012-03-24 09:47 4811import java.text.SimpleDateF ... -
Cassandra的数据分布情况测试
2012-03-16 15:09 20331、规划种子节点ip和Token值的对应 4个种子 ...
相关推荐
**JSF自定义组件开发详解** JavaServer Faces (JSF) 是一个用于构建Web应用程序的Java框架,它提供了一种模型-视图-控制器(MVC)架构来简化开发过程。在JSF中,自定义组件是扩展其功能的关键部分,允许开发者根据...
本章将深入探讨如何自定义JSF组件,并通过实例讲解开发过程。 首先,JSF组件模型借鉴了GUI组件模型的设计,具备事件处理和属性设置功能。组件的生命周期主要包括解码和编码两个主要阶段。解码是指将HTTP请求中的...
JSF 2.0引入了复合组件的概念,它允许开发者将多个JSF组件和行为组合成一个单一的自定义组件。复合组件定义在独立的.xhtml文件中,可以包含属性、事件和嵌套组件。在使用时,只需引用这个.xhtml文件即可。 7. **...
下面将详细解释如何创建一个自定义JSF组件,包括组件的组成部分、标签库描述、属性处理类和组件类的创建。 一、自定义组件组成 一个完整的自定义JSF组件通常包括以下几个部分: 1. **标签库描述文件(TLD)**:...
大多数现代IDE(如Eclipse、NetBeans或IntelliJ IDEA)都内置了对JSF的支持,使得组件开发变得更加直观和简单。IDE通常会提供一个可视化的界面,其中包含各种JSF组件,只需通过简单的操作即可完成组件的添加和属性...
JSP标签库则使得在JSP页面中集成JSF组件变得更加便捷。 JSF的生命周期分为7个阶段,用于处理HTTP请求。这包括初始化、恢复视图、应用请求值、过程验证、更新模型值、调用应用业务逻辑以及呈现响应。这个生命周期...
在生成的JSF组件类中,通常会继承自`UIComponentBase`,如果是输出组件,那么直接继承自`UIOutput`。例如,对于Ext的Menu的Textitem,生成的JSF组件代码会包含配置项(config),但不包含Ext API中的方法和事件,确保...
**渲染器**:渲染器负责将JSF组件转化为实际的HTML或其他客户端可识别的格式。不同的渲染器可以根据目标环境(如浏览器类型)生成不同的输出。 **生命周期**:JSF有七个阶段,包括恢复视图、应用请求值、处理验证、...
1. **JSF组件模型**:JSF的核心是组件模型,允许开发者使用预定义的UI组件(如按钮、文本框等)来构建页面。这些组件可以通过XML(Facelets)进行声明式配置,或者在Java代码中进行编程式添加。 2. **Facelets**:...
JSF的自定义组件机制使得开发人员可以根据需要创建自定义的JSF组件。这使得JSF组件更加灵活和可扩展。 JSF的国际化和本地化 JSF的国际化和本地化机制提供了一种国际化和本地化的解决方案,使得开发人员可以轻松地...
**JSF组件库** 包括各种UI组件,如输入字段、按钮、表格等,这些组件可以直接在页面上使用,并且可以通过属性和绑定来控制它们的行为。JSF还支持自定义组件,允许开发者扩展其功能以满足特定需求。 **Eclipse 3.5**...
在JavaServer Faces (JSF)框架中,`selectManyCheckbox`是用于创建...它可能涵盖了自定义渲染器的实现、JSF组件生命周期的理解以及相关的开发工具和技巧,对于想要深入理解和定制JSF组件的开发者来说是一份宝贵的资源。
JSF 让您可以自订组件,每个组件都是可替换的,这使得组件在搭配时更有弹性,但相对的却使开发组件的过程复杂的多,这边对自订JSF 组件只是个入门砖,更多有关自订组件的细节可得要专书来说明。 JSF 生命周期与...
`f:ajax`标签可用于添加Ajax行为到JSF组件,实现异步请求和局部刷新。 七、JSF与CDI集成 Java Contexts and Dependency Injection (CDI) 是Java EE中的一种依赖注入框架,JSF可以与其无缝集成,使得管理Managed ...
Managed Bean可以被JSF组件直接引用,实现数据绑定。 - **控制器(Controller)**: JSF框架本身充当控制器角色,处理HTTP请求,更新模型,并根据需要更新视图。 2. **Eclipse中设置JSF支持** 在Eclipse中,你...
2. **JSF组件**:详细讲解各种内置组件的使用,包括输入组件、输出组件、表单组件等。 3. **EL表达式(Expression Language)**:JSF中的EL用于在视图层和Managed Beans之间绑定数据,教程会解释其语法和使用方式。 ...
- **数据绑定**:JSF 提供了简单的方式来绑定 UI 组件到后端数据模型,使得数据的传输和验证变得更为简单。 - **导航规则**:JSF 支持定义导航规则,根据用户的操作自动跳转到下一个页面或执行特定逻辑。 #### 二、...
JSF组件** JSF的核心是组件模型,它包含两个主要部分:UI组件(UIComponent)和渲染组件(Renderer)。UIComponent负责处理用户输入,而Renderer则负责将组件渲染为特定的输出格式,如HTML。例如,`h:inputText`是...
它将Ajax功能无缝集成到JSF组件生命周期中,提供Action和Value Change监听器,以及服务端验证和转化功能。 - **结构概览**:框架由一系列组件组成,它们协同工作以实现Ajax请求和响应处理。 - **如何发送AJAX请求*...
7. **Facelets**:Facelets是JSF推荐的视图定义语言,用于创建和组合组件,生成HTML输出。它们提供了模板和重用机制,使得界面设计更加灵活。 8. **Converters and Validators**:JSF提供了内置的转换器和验证器,...