正 文

用Java Server Faces建立交互式WEB站点


www.7dspace.com  更新日期:2006-2-10 22:31:02  七度空间


     步骤3:编写标签类

     同样,JSF架构提供了用于扩展的基类,来编写与组件相关的标签。该标签类将负责:

    * 定义将在faces-config.xml文件中应用的组件类型和渲染类型,我们将在下一部分具体介绍这个XML文件。
    * 创建JSF组件(由JSF架构来处理)并传递JSF标签中所包含的属性来初始化组件。
    * 在列表C中的标签提供了setter和getter来管理链接和值的属性。

列表C

import javax.faces.Webapp.UIComponentTag;
public class CSSTag
extends UIComponentTag {
private String value;
private String link;
public String getComponentType() {
return "faces.CSSComponent";
}
public String getRendererType() {
return "HTML.LinkOrInlineRenderer";
}
protected void setProperties(UIComponent component)
{
super.setProperties(component);
Application app = getFacesContext().getApplication();
if (value != null)
if (isValueReference(value))
component.setValueBinding("value",
app.createValueBinding(value));
else
component.getAttributes().put("value", value);
if (link != null)
if (isValueReference(link))
component.setValueBinding("link",
app.createValueBinding(link));
else
component.getAttributes().put("link",
new Boolean(link));
}
public String getLink() {
return link;
}
public void setLink(String link) {
this.link = link;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}

     组件一旦创建,便会调用setPropertie方法,对标签属性进行初始化。每个标签属性要么是文字值,要么是bean属性的一个绑定。

     步骤4:编写一个标签库定义(TLD)

     TLD是一个XML文件,它通过将标签名与相应的Java类相关联来描述标签。TLD还描述了标签所允许的属性。

     在列表D中的这个TLD定义了一个名为“css”的标签,该标签被绑定到CSSTag类。它还声明了链接和值标签的属性。

列表D

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/Web-jsptaglibrary_1_
2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>custom</short-name>
<uri>

3页,页码:[1] [2] [3] 

上一篇:网页设计中的色彩比例
下一篇:使用AJAX和J2EE创建功能强大的瘦客户端
标题:用Java Server Faces建立交互式WEB站点 作者:未知 来源:Java家
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐