继续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
那里有人有这个问题吗?
答案 0 :(得分:2)
似乎该示例缺少一些代码。尝试将以下内容添加到页面ShowAll.java
:
@Inject
private BeanModelSource beanModelSource;
@Inject
private Messages messages;
public BeanModel<Celebrity> getModel() {
return beanModelSource.createDisplayModel(Celebrity.class, messages);
}
用于识别要呈现的属性和呈现顺序的模型。
上面应该根据公共方法和属性创建一个默认的BeanModel。