JSF自定义组件之四 JSF实现-Component

46 篇文章 0 订阅
29 篇文章 0 订阅

    上篇介绍了Tag类及tld文件的开发,本篇将介绍Compmonent类的开发。

    Tag类主要作用是从页面标签接收值,Component类的主要作用为在Server端保存及恢复组件状态。

    在Tag类中主要需实现getComponentType,getRendererType,setProperties及属性的set方法,Component类主要需实现的方法包括:getFamily,saveState,restoreState和属性的get/set方法。

    本例中Component类直接继承HtmlInputText类,代码如下:

  1. package net.moon.jsf.customer.component;
  2. import javax.faces.component.html.HtmlInputText;
  3. import javax.faces.context.FacesContext;
  4. public class HtmlDropdownList extends HtmlInputText {
  5.     private static final String FAMILY_NAME = "DropdownList";
  6.     private String valueList = null;
  7.     public void setValueList(String valueList) {
  8.         this.valueList = valueList;
  9.     }
  10.     private String image = null;
  11.     public String getValueList() {
  12.         return valueList;
  13.     }
  14.     public String getImage() {
  15.         return image;
  16.     }
  17.     public void setImage(String image) {
  18.         this.image = image;
  19.     }
  20.     /**
  21.      * @param args
  22.      */
  23.     public static void main(String[] args) {
  24.         // TODO Auto-generated method stub
  25.     }
  26.     public HtmlDropdownList() {
  27.         super();
  28.         // TODO Auto-generated constructor stub
  29.     }
  30.     
  31.     @Override
  32.     public String getFamily() {
  33.         return FAMILY_NAME;
  34.     }
  35.     @Override
  36.     public void restoreState(FacesContext _context, Object _state) {
  37.         // TODO Auto-generated method stub
  38.         Object[] value = (Object[]) _state;
  39.         super.restoreState(_context, value[0]);
  40.         valueList = (String) value[1];
  41.         image = (String) value[2];
  42.     }
  43.     @Override
  44.     public Object saveState(FacesContext _context) {
  45.         // TODO Auto-generated method stub
  46.         Object[] value = new Object[3];
  47.         value[0] = super.saveState(_context);
  48.         value[1] = valueList;
  49.         value[2] = image;
  50.         return value;
  51.     }
  52. }

 

    下篇将介绍JSF组件开发的Renderer类实现。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值