用tapestry4.1中的dojo的Autocompleter组件时,
HTML代码:
页面类如下,
- <html jwcid="@Shell" title="test" debugEnabled="true">
- <head>
- head>
- <body jwcid="@Body">
- <span jwcid="@Autocompleter" model="ognl:model" value="ognl:select"/>
- body>
- html>
- 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();
- }
- package autoCompleter.test;
- public class SimpleBean
- {
- private Integer _id;
- private String _label;
- private int _value;
- public SimpleBean(Integer id, String label, int value)
- {
- _id = id;
- _label = label;
- _value = value;
- }
- /**
- * @return the id
- */
- public Integer getId()
- {
- return _id;
- }
- /**
- * @return the label
- */
- public String getLabel()
- {
- return _label;
- }
- /**
- * Returns the value stored.
- *
- * @return The value stored.
- */
- public int getValue()
- {
- return _value;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode()
- {
- final int PRIME = 31;
- int result = 1;
- result = PRIME * result + ((_id == null) ? 0 : _id.hashCode());
- return result;
- }
- /**
- * {@inheritDoc}
- */
- @Override
- public boolean equals(Object obj)
- {
- if (this == obj) return true;
- if (obj == null) return false;
- if (getClass() != obj.getClass()) return false;
- final SimpleBean other = (SimpleBean) obj;
- if (_id == null) {
- if (other._id != null) return false;
- } else if (!_id.equals(other._id)) return false;
- return true;
- }
- }