【发布时间】:2011-06-09 12:29:45
【问题描述】:
我是 ExtJs 的新手。
单击按钮时,我想将文本框中的值传递给服务器(Servlet)。但由于我是新手,所以我不知道该怎么做。
请有人帮我解决这个问题或建议我一些教程或示例
【问题讨论】:
我是 ExtJs 的新手。
单击按钮时,我想将文本框中的值传递给服务器(Servlet)。但由于我是新手,所以我不知道该怎么做。
请有人帮我解决这个问题或建议我一些教程或示例
【问题讨论】:
Ext.Ajax.request可以帮到你。
代码将如下所示:
new Ext.Button({
text: "Send to server",
handler: function () {
Ext.Ajax.request({
url: 'myPage.php',
success: function (){alert('Value has been sent!');},
failure: function (){alert('Failure of sending...');},
headers: {
'my-header': 'foo'
},
params: { foo: myTextField.getValue() }
});
}
})
【讨论】:
在 url 中输入你的 Servlet 类名。 如果您有一个包含多个按钮的表单,例如保存、更新、删除,您可以这样做:
// Your form fields ...
var buttonAdd = new Ext.Button({text:'Add', handler:addFunction});
var deleteAdd = new Ext.Button({text:'Delete', handler:deleteFunction});
function addFunction(){
Ext.Ajax.Request({
url: 'MyServlet', // you can fix a parameter like this : MyServlet?action=add
method: 'POST',
params: {
myField1: myField1.getValue()
// all your params....
}
success: function (result, request){
alert('Succesfully added ' + result.responseText);
},
failure: function (result, request){
alert('Error in server' + result.responseText);
}
});
function deleteFunction(){
Ext.Ajax.Request({
url: 'MyServlet', // you can fix a parameter like this : MyServlet?action=delete
method: 'POST',
params: {
myField1: myField1.getValue()
// all your params....
}
success: function (result, request){
alert('Succesfully added ' + result.responseText);
},
failure: function (result, request){
alert('Error in server' + result.responseText);
}
});
}
在你的 Servlet 中,你可以这样做:
public void doPost(HttpServletRequest request, HttpServletResponse response){
String action = request.getParameter("action");
if(action.equals("add")){
// Your code for add method goes here
} else if(action.equals("delete")){
// Your code for delete method goes here
}
}
【讨论】: