tapestry4.1中的Autocompleter的用法-轉

用tapestry4.1中的dojo的Autocompleter組件時,
HTML代碼:
  1. <html jwcid="@Shell" title="test" debugEnabled="true">
  2. <head>
  3. head>
  4. <body jwcid="@Body">
  5. <span jwcid="@Autocompleter" model="ognl:model" value="ognl:select"/>
  6. body>
  7. html>
頁面類如下,
Java代碼 複製代碼
  1. import java.util.ArrayList;   
  2. import java.util.Arrays;   
  3. import java.util.Date;   
  4. import java.util.List;   
  5.   
  6. import org.apache.tapestry.dojo.form.DefaultAutocompleteModel;   
  7. import org.apache.tapestry.dojo.form.IAutocompleteModel;   
  8. import org.apache.tapestry.event.PageBeginRenderListener;   
  9. import org.apache.tapestry.event.PageEvent;   
  10. import org.apache.tapestry.html.BasePage;   
  11.   
  12. public abstract class AutoCompleter extends BasePage implements PageBeginRenderListener   
  13. {   
  14.     public Date date = null;   
  15.     public IAutocompleteModel model = null;   
  16.     public void pageBeginRender(PageEvent arg0) {   
  17.         setText("TEXT");   
  18.         setDate(new Date());   
  19.     }      
  20.     public IAutocompleteModel getModel() {   
  21.         if (model == null) {   
  22.             List values = new ArrayList();   
  23.                
  24.             SimpleBean s1 = new SimpleBean(new Integer(1), "Simple 1"100);   
  25.             SimpleBean s2 = new SimpleBean(new Integer(2), "Simple 2"200);   
  26.             SimpleBean s3 = new SimpleBean(new Integer(3), "Simple 3"300);   
  27.                
  28.             values.add(s1);   
  29.             values.add(s2);   
  30.             values.add(s3);   
  31.                
  32.             model = new DefaultAutocompleteModel(values, "id""label");   
  33.         }   
  34.         return model;   
  35.       }   
  36.     public abstract void setText(String text);   
  37.     public abstract String getText();   
  38.     public abstract SimpleBean getSelect();   
  39.     public void formSubmit()   
  40.     {   
  41.         System.out.println(getDate());   
  42.         System.out.println(getSelect().getValue());        
  43.     }   
  44.     public void setDate(Date d)   
  45.     {   
  46.         if(date == null)   
  47.         {   
  48.             this.date = new java.util.Date();    
  49.         }   
  50.         else  
  51.         {   
  52.             this.date = d;   
  53.         }   
  54.     }   
  55.     public abstract Date getDate();   
  56.        
  57. }  
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import org.apache.tapestry.dojo.form.DefaultAutocompleteModel;
import org.apache.tapestry.dojo.form.IAutocompleteModel;
import org.apache.tapestry.event.PageBeginRenderListener;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.html.BasePage;

public abstract class AutoCompleter extends BasePage implements PageBeginRenderListener
{
	public Date date = null;
	public IAutocompleteModel model = null;
	public void pageBeginRender(PageEvent arg0) {
		setText("TEXT");
		setDate(new Date());
	}	
	public IAutocompleteModel getModel() {
	    if (model == null) {
	    	List values = new ArrayList();
	        
	        SimpleBean s1 = new SimpleBean(new Integer(1), "Simple 1", 100);
	        SimpleBean s2 = new SimpleBean(new Integer(2), "Simple 2", 200);
	        SimpleBean s3 = new SimpleBean(new Integer(3), "Simple 3", 300);
	        
	        values.add(s1);
	        values.add(s2);
	        values.add(s3);
	        
	        model = new DefaultAutocompleteModel(values, "id", "label");
	    }
	    return model;
	  }
	public abstract void setText(String text);
	public abstract String getText();
	public abstract SimpleBean getSelect();
	public void formSubmit()
	{
		System.out.println(getDate());
		System.out.println(getSelect().getValue());		
	}
	public void setDate(Date d)
	{
		if(date == null)
		{
			this.date = new java.util.Date(); 
		}
		else
		{
			this.date = d;
		}
	}
	public abstract Date getDate();
	
}

Java代碼 複製代碼
  1. package autoCompleter.test;   
  2.   
  3.   
  4. public class SimpleBean   
  5. {   
  6.   
  7.     private Integer _id;   
  8.        
  9.     private String _label;   
  10.        
  11.     private int _value;   
  12.        
  13.     public SimpleBean(Integer id, String label, int value)   
  14.     {   
  15.         _id = id;   
  16.         _label = label;   
  17.         _value = value;   
  18.     }   
  19.        
  20.     /**  
  21.      * @return the id  
  22.      */  
  23.     public Integer getId()   
  24.     {   
  25.         return _id;   
  26.     }   
  27.        
  28.     /**  
  29.      * @return the label  
  30.      */  
  31.     public String getLabel()   
  32.     {   
  33.         return _label;   
  34.     }   
  35.        
  36.     /**  
  37.      * Returns the value stored.  
  38.      *   
  39.      * @return The value stored.  
  40.      */  
  41.     public int getValue()   
  42.     {   
  43.         return _value;   
  44.     }   
  45.   
  46.     /**   
  47.      * {@inheritDoc}  
  48.      */  
  49.     @Override  
  50.     public int hashCode()   
  51.     {   
  52.         final int PRIME = 31;   
  53.         int result = 1;   
  54.         result = PRIME * result + ((_id == null) ? 0 : _id.hashCode());   
  55.         return result;   
  56.     }   
  57.        
  58.     /**   
  59.      * {@inheritDoc}  
  60.      */  
  61.     @Override  
  62.     public boolean equals(Object obj)   
  63.     {   
  64.         if (this == obj) return true;   
  65.         if (obj == nullreturn false;   
  66.         if (getClass() != obj.getClass()) return false;   
  67.         final SimpleBean other = (SimpleBean) obj;   
  68.         if (_id == null) {   
  69.             if (other._id != nullreturn false;   
  70.         } else if (!_id.equals(other._id)) return false;   
  71.         return true;   
  72.     }   
  73. }  
發佈了25 篇原創文章 · 獲贊 0 · 訪問量 3578
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章