错误挂毯使用数据gridsource 2

时间:2012-09-02 02:03:59

标签: java datagrid error-handling tapestry

继续tutorial我遇到了一个错误。 以前的问题似乎是fixed

教程说: 要使用创建的CelebritySource,请将以下方法添加到ShowAll页面类:

public GridDataSource getCelebritySource()
{
return new CelebritySource(dataSource);
}

然后在ShowAll.tml模板中更改Grid组件的source参数:

<t:grid t:source="celebritySource" rowsPerPage="5"
row="celebrity" t:model="model">

运行该应用程序。登录以查看ShowAll页面,只要显示包含名人的表,您应该看到以下输出:

准备选择。 索引从0到4 属性名称为:null 排序顺序升序:true 获得第0行的价值 获得第1行的价值 获得第2行的价值 获得第3行的价值 获得第4行的价值

页面有错误:

  

发生了意外的应用程序异常。

     

组装页面ShowAll的根组件的异常:无法转换   'model'成组件参数绑定:异常生成   用于表达'model'的管道:Class   org.apache.tapestry.pages.ShowAll不包含属性(或   公共领域)命名为“模型”。

从t:grid

删除t:model =“model”之后

页面有错误:

  

发生了意外的应用程序异常。

     

在SetupRender中显示队列错误[ShowAll:grid]:索引:0

那里有人有这个问题吗?

1 个答案:

答案 0 :(得分:2)

似乎该示例缺少一些代码。尝试将以下内容添加到页面ShowAll.java

 
@Inject
private BeanModelSource beanModelSource;

@Inject
private Messages messages;

public BeanModel<Celebrity> getModel() {
  return beanModelSource.createDisplayModel(Celebrity.class, messages);
}

来自T5 Grid Component Ref

  

用于识别要呈现的属性和呈现顺序的模型。

上面应该根据公共方法和属性创建一个默认的BeanModel。