0

チュートリアルを続けると、エラーが発生しました。以前の問題は修正されたようです。

チュートリアルによると:作成されたCelebritySourceを利用するには、次のメソッドをShowAllページクラスに追加します。

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

次に、ShowAll.tmlテンプレートのグリッドコンポーネントのソースパラメータを変更します。

<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」のコンジットを生成する例外:クラスorg.apache.tapestry.pages.ShowAllに、という名前のプロパティ(またはパブリックフィールド)が含まれていません'モデル'。

t:gridからt:model="model"を削除した後

ページにエラーがあります:

予期しないアプリケーション例外が発生しました。

SetupRender [ShowAll:grid]のレンダリングキューエラー:インデックス:0

誰かがこの問題を抱えていましたか?

4

1 に答える 1

2

この例には少しコードが欠けていたようです。ページに以下を追加してみてくださいShowAll.java

@Inject
private BeanModelSource beanModelSource;

@Inject
private Messages messages;

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

T5グリッドコンポーネントから参照:

提示されるプロパティと提示の順序を識別するために使用されるモデル。

上記は、パブリックメソッドとプロパティに基づいてデフォルトのBeanModelを作成する必要があります。

于 2012-09-02T11:48:27.477 に答える