知识大全 试着开始开发基于JSF2的Html5组件包

Posted

篇首语:没有一贯的蔑视,又怎能不断地欣赏呢?本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 试着开始开发基于JSF2的Html5组件包相关的知识,希望对你有一定的参考价值。

试着开始开发基于JSF2的Html5组件包  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  现在许多浏览器都开始支持 然而当前的ide编辑环境还不能识别 的标签 在工作中 有应用 的需求 想通过开发基于JSF 的Html 组件包 来满足这样的现实需求 实现可复用的 表现组件

  开始试写 第一个标记<h :doctype/>

  组件包结构如下

  

  组件的类文件

  Java代码

  package l ;

  import ponent UIComponentBase;

  /**

  * 开始于

  * 的DOCTYPE的文档类型声明 一个简单的 标记封装

  * 最后修改于

  * @author 普特工作室

  * @version

  */

  public class Html Doctype extends UIComponentBase

  /**

  * 使用组件的类名作为 返回组件的家族标识

  * @return

  */

  @Override

  public String getFamily()

  return Html Doctype class getName();

  

  

  组件的标记处理类

  Java代码

  package putl ;

  import l Html Doctype;

  import putesol Html DoctypeRenderer;

  import javax faces webapp UIComponentELTag;

  /**

  * 开始于

  * 组件的标志处理器类 组件的标记类

  * 衔接代码 让这个组件能在JSP页面上下文中执行 从而钩到其它的相关类

  * 最后修改于

  * @author 普特工作室

  * @version

  */

  public class Html DoctypeTag extends UIComponentELTag

  /**

  *

  * 直接使用类的全路径名 作为组件的类型名

  * 此处是衔接代码 通过此衔接代码

  * 根据获得的组件名 在faces config xml中 找到对应的组件类

  * 然后执行组件的处理逻辑

  * @return

  */

  @Override

  public String getComponentType()

  String pontentType = Html Doctype class getName();

  return pontentType;

  

  /**

  * 直接使用类的全路径名 作为组件的渲染器类型名

  * 此处是衔接代码 通过此衔接代码

  * 根据获得的渲染器名 在faces config xml中 找到对应的渲染器类

  * 然后执行组件的渲染处理

  * @return

  */

  @Override

  public String getRendererType()

  String rendererType = Html DoctypeRenderer class getName();

  return rendererType;

  

  

  组件渲染器类

  Java代码

  package putesol ;

  import java io IOException;

  import ponent UIComponent;

  import ntext FacesContext;

  import ntext ResponseWriter;

  import javax faces render Renderer;

  /**

  * 开始于

  * HTML 的文档类型渲染器

  * 最后修改于

  * @author 普特工作室

  * @version

  */

  public class Html DoctypeRenderer extends Renderer

  /**

  * 编码组件 渲染成Html代码

  * @param context

  * @param ponent

  * @throws IOException

  */

  @Override

  public void encodeBegin(FacesContext context UIComponent ponent) throws IOException

  //从faces上下文环境中获得响应书写器

  ResponseWriter writer = context getResponseWriter();

  //直接把字符串写出 不进行字符转义处理

  writer write( <!DOCTYPE HTML> );

  

  

  标记库文件

  Xml代码

  <?xml version= encoding= UTF ?>

  <taglib

  version=

  xmlns=

  xmlns:xsi= instance

  xsi:schemaLocation= jsptaglibrary_ _ xsd >

  <description>用于JSF 的 通用标记的JSF封装</description>

  <tlib version> </tlib version>

  <short name>jsf_ </short name>

  <uri>_ </uri>

  <tag>

  <description>Html 的文档类型声明封装</description>

  <name>doctype</name>

  <tag class>

   putl Html DoctypeTag

  </tag class>

  </tag>

  </taglib>

  组件库文件

  Java代码

  <?xml version= encoding= UTF ?>

  <!

  Document   : faces config xml

  Created on : 年 月 日 下午 :

  Author     : 普特工作室

  Description: JSF组件库的组件注册

   >

  <faces config

  xmlns=

  xmlns:xsi= instance

  xsi:schemaLocation= facesconfig_ _ xsd

  version= >

  <ponent>

  <description>Html 的文档类型声明DOCTYPE</description>

  <ponent type>

  l Html Doctype

  </ponent type>

  <ponent class>

  l Html Doctype

  </ponent class>

  </ponent>

  <render kit>

  <renderer>

  <ponent family>

  l Html Doctype

  </ponent family>

  <renderer type>

   putesol Html DoctypeRenderer

  </renderer type>

  <renderer class>

   putesol Html DoctypeRenderer

  </renderer class>

  </renderer>

  </render kit>

  </faces config>

  组件在Jsp文件中使用

  Html代码

  <%@page contentType= text/ pageEncoding= UTF %>

  <%@taglib prefix= f uri= %>

  <%@taglib prefix= h uri= %>

  <%@taglib prefix= h uri= _ %>

  <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN

   >

  <%

  This file is an entry point for JavaServer Faces application

   %>

  <f:view>

  <h :doctype/>

  <>

  <head>

  <meta equiv= Content Type content= text/; charset=UTF />

  <title>JSP Page</title>

  </head>

  <body>

  <h ><h:outputText value= JavaServer Faces /></h >

  </body>

  </>

  </f:view>

cha138/Article/program/Java/hx/201311/26425

相关参考

知识大全 如果学HTML5前端开发,那么在大学里选什么专业

如果学HTML5前端开发,那么在大学里选什么专业  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如果

知识大全 基于Delphi的组件设计之概念[1]

基于Delphi的组件设计之概念[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作为组件制

知识大全 基于Delphi的组件设计之概念[3]

基于Delphi的组件设计之概念[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delph

知识大全 基于Delphi的组件设计之概念[2]

基于Delphi的组件设计之概念[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  属性可以有

知识大全 基于Delphi的组件设计之简单实例

基于Delphi的组件设计之简单实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!这是一个可以计数

知识大全 如何基于Eclipse的组件内使用RIA技术

如何基于Eclipse的组件内使用RIA技术  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  导语

知识大全 开发前的约定

  今天进入可开发前的准备阶段在开发项目前要求每位开发小组成员都必须先阅读以下约定严格按以下约定来进行开发    系统框架    ·系统总框架采用SUNJEE框架使用JAVA/XML技术和组件技术基于

知识大全 全面解析基于空间数据库的数据挖掘技术[2]

   空间数据挖掘系统一种新的实现方案  以上几种系统都是用自己开发的或GIS软件开发商提供的GIS平台组件或中间件来实现SDM系统中空间数据管理和分析本文中提出了空间数据挖掘系统一种新的实现方案即以

知识大全 VB.NET中的组件开发

VB.NET中的组件开发  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!简介组件其实是一段可以重用的

知识大全 dotnet 下开发 COM+ 组件

dotnet下开发COM+组件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一问题的提出  最