现在位置:首页->学习专题->JSF专题
使用自定义元件
作者: 日期: 2007-4-5 14:26:04 访问次数:出处:
 显示选项:自动滚屏[左键停止]
 

在Component与Tag自订完成后,这边来看看如何使用它们,首先定义faces-config.xml:

faces-config.xml

<?xml version="1.0" encoding="UTF-8"?>

 <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems,

  Inc.//DTD JavaServer Faces Config 1.0//EN"

 "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

 <faces-config>

    <component>

        <component-type>

            onlyfun.caterpillar.TextWithCmd

        </component-type>

        <component-class>

            onlyfun.caterpillar.UITextWithCmd

        </component-class>

    </component>

    <managed-bean>

        <managed-bean-name>someBean</managed-bean-name>

        <managed-bean-class>

            onlyfun.caterpillar.SomeBean

        </managed-bean-class>

        <managed-bean-scope>session</managed-bean-scope>

    </managed-bean>

 </faces-config>

  <component>中定义Component的型态与实际的类别对应,在您于自订Tag中呼叫 getComponentType()方法所返回的值,就是寻找<component-type>设定的值对应,并由此得知真正对应的 Component类别。

  我们所撰写的SomeBean测试类别如下:

SomeBean

package onlyfun.caterpillar;

 

 public class SomeBean {

    private String data;

 

    public String getData() {

        return data;

    }

 

    public void setData(String data) {

        this.data = data;

    }

 }

  这边写一个简单的网页来测试一下我们撰写的自订元件:

index.jsp

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>

 <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

 <%@ taglib uri="/WEB-INF/textcmd.tld" prefix="oc" %>

 <html>

 <link href="styles.css" rel="stylesheet" type="text/css"/>

 <head>

 <title></title>

 </head>

 <body>

 <f:view>

     <h:form>

     Input data: <oc:textcmd size="10"

                             value="#{someBean.data}"/>

     </h:form>

     <h:outputText value="#{someBean.data}"/>

 </f:view>

 </body>    

 </html>

 

⊕相关文章
  • ·元件标签
  • ·编码、解码
  • ·自订JSF元件
  • ·JSF生命周期
  • ·TableModel类别
  • ·表头、表尾