私はPlay(そして正直に言うとMVC)は初めてです。そして、私はそれがそれほど難しいはずではないように思われる何かに問題を抱えています。
私はちょうどこの同じ名前の投稿を見つけました: PlayFramework2.0テンプレートの一部をレンダリングする
しかし、私はこれを機能させることができないようです。
ボタンがクリックされたときにレンダリングしたい別のテンプレート(行)を含むテンプレート(インデックス)があります。これは私のインデックステンプレートのフォームです:
@form(routes.Application.getNextRows()) {<input type="submit" value="Next Rows!">}
これはgetNextRowsです:
public static Result getNextRows() {
return ok(views.html.tags.rows.render(rowsIterator.next()));
}
それが私の問題だと思うところですが、どのようにその呼び出しを行うべきか、または何を返す必要があるのか(NullPointerExceptionを取得せずに)わかりません。
(インデックスで)再レンダリングする必要があるビットは次のとおりです。
<table cellspacing="0" style="table-layout:fixed" border="2">
<col width="50%">
<col width="45%">
<col width="5%">
@tags.rows(rowsIterator.first())
</table>
したがって、ボタンをクリックするときは、「rowsIterator.first()」ではなく、新しい行要素を渡す必要があります。おそらく、何か非常に間違っているか、これを整理する明らかな呼び出しがありません。
助けてくれてありがとう(そして私がもっと大きな概念を見逃していることが明らかな場合は、遠慮なく私を教育してください)。
Zentasksのサンプルを見ると、このようなコードがあり、ページの一部がリロードされているように見えます。これがどのように機能するか考えていますか?
<a class="name" href="#@routes.Tasks.index(project.id)">@project.name</a>