2012-05-29 57 views
0

控制器可以發送數據以在渲染方法中作爲參數進行查看。視圖如何將數據發送給控制器?Play Framework - 從視圖向控制器發送數據

編輯:讓我澄清一下。

Application.showQuestion(Question q){ render(q); }

showQuestion.html顯示問題 'Q',並具有用於輸入答案 'a' 到 'Q' 文本框。表單上的提交按鈕調用createAnswer方法。我不僅要通過答案'a',還要通過'q'這個問題。將createAnswer(q,a)完成相同?我的目標是:

a.question = q; q.addAnswer(a);

+0

通過POST或GET –

回答

1

我不能完全肯定,如果我正確地理解你的問題,但我希望是:

如何通過你的問題Q隨答案沿着最簡單的方法是使用預定義模板「形式」。你可以這樣做:

showQuestion.html: 

#{form @Application.createAnswer(q), id:'answerForm'} 
    ... 
    // add input for the answer here 
    ... 
#{/form} 

然後在你的Application.java,你會定義方法Application.createAnswer(Q,A),它會被調用。所以表單標籤中使用的參數和表單中的輸入組合在一起。部分#{form @Application.createAnswer(q)...實際上只是在點擊提交按鈕時,它會在窗體中創建隱藏的輸入字段,並將其傳遞給控制器​​。

詳細信息有關表單標籤: Form tag in playframework 1.2.4

請注意,我描述適用於playframework 1.2.4。我不確定它是否以2.0.1的方式工作,但我(真的)希望是的。

1

我想你要做的是讓用戶通過點擊你生成的網頁來調用正確的控制器。

你在找什麼叫reverse routing,Play有一個機制。你可以看到它是如何工作的here。 然後如果您試圖從表單中獲取輸入,我建議您使用表單對象,詳情請參閱documentation

相關問題