我正在嘗試這個簡單的ExtJS - Grails/Groovy測試。我的Groovy服務器頁面(gsp)文件包含下面的ExtJS代碼:Grails/Groovy Controller應該返回成功ExtJS
- 它有兩個字段的州代碼和州名。
- 用戶輸入詳細信息並點擊提交。
- 提交會觸發將表單進一步發佈到Controller類的處理程序。
function createTender() {
var submitHandler = function() {
alert("Submit Pressed !");
var formPanel = Ext.getCmp('stateForm');
formPanel.getForm().submit({
url : 'state/saveState',
method : 'POST',
success : function() {
alert('State saved successfully!');
},
failure : function() {
alert('State save failed!');
}
});
}
Ext.create('Ext.form.Panel',{
id: 'stateForm',
height: 300,
width: 400,
bodyPadding: 10,
title: 'Create State',
items: [{
xtype:'textfield',
fieldLabel: 'State Code',
name: 'stateCode',
allowBlank:false
}, {
xtype:'textfield',
fieldLabel: 'State Name',
name: 'stateName'
}],
buttons: [{
text: 'Save',
handler: submitHandler
},{
text: 'Cancel'
}],
renderTo: Ext.getBody()
});
}
下面是StateController類與動作/方法saveState和。 它只是打印狀態碼,什麼也不做。
class StateController {
static scaffold = true
def saveState = {
println "Into saveTender() method !!!"
println params.stateCode
// Steps to save the state code and name into Database.
}
}
問題:
- 的saveState和方法正在打印兩者println語句。但是,就像你所看到的,我沒有返回任何東西,因爲我不知道我應該返回到gsp。我的目的是爲了保存州的詳細信息,併發出警告,說'國家成功救了!'信息。
- 但是,gsp中的Ext代碼正在拋出「狀態保存失敗!」信息。
我想從Controller返回成功到gsp。我該怎麼做?請不要介意這個問題太天真了,因爲我是初學者。
謝謝你塞爾吉奧。非常抱歉沒有回到這個問題上。所以,我試着渲染文本。但是它在哪裏呈現文本?假設我在我的問題中粘貼的Ext代碼是在createState.gsp中,'State Saved'是否會呈現在createState.gsp上(覆蓋當前內容)?或者它會尋找一個名爲saveState.gsp的gsp?而...成功警報呢? – rajugaadu 2013-05-15 23:27:31
當我嘗試了您提供的代碼示例時,我沒有看到失敗警報。但是我也沒有看到成功警戒!對不起,如果我的問題太幼稚了:( – rajugaadu 2013-05-15 23:28:13
只有當你使用它時,Ext纔會對消息「State Saved」做一些事情,比如像jQuery ajax,render文本可以避免使用gsp, t不得不創建一個saveState視圖 – 2013-05-15 23:36:09