① 使用extjs+struts2登陸時,如何進入action url="user.action"
直接用ext.Ajax.request或者是你所定義的panel。submit,具體的你還可以查一下,很簡單的
② extjs頁面之間傳遞的參數
Ext.Ajax.request({
url : 『*.action',
params : {
names : names
}, success : function() {
Ext.Msg.alert("提示","文件已經刪除");
},
後台要有內names的get set方法容
③ 關於Extjs的提交問題 success : function(form, action)
success : function(form, action) 這里意思是 成功時執行方法。 form 是你創建的表單
action 是你後台返回過來的值
你貼出來的這塊代碼沒啥問題
你仔細看看 url 傳給後台from里的值 有沒有獲取到 或者後台action 有沒有獲取到後台返回的值
建議你用google 按F12調試一下
我個人經驗是你url地址有問題請檢查是否能連上你的鏈接!!
你這沒有執行success : 這快就說明問題了
④ extjs4.x如何獲取純html寫的表單數據
表單是用來獲取用戶輸入的一些數據,最常見的就是注冊,登錄之類的;
html5表單數據獲得方法:
1、首先,打開IDEA軟體,並新建一個工程,建好後,右鍵創建一個html5文件,完成後便完成了最開始的工作;
2、接著先熟悉一些較常用的表單標簽:表單<form>, 輸入域<input>,文本域<textarea>,按鈕<button>,域的標題<legend>,控制標簽<label>等。
⑤ 請問如何使用EXTjs腳本實現頁面跳轉
window.open("url?param=value");
window.open是JS的一個方法,參數中,URL表示你想要跳轉到哪裡去,問號後面的param是將要傳的參數的名稱,Value是參數的值。
url可以是一個頁面也可以是java的一個請求,例如XX.do或YY.jsp,在跳轉過去之後可以通過request.getParameter("param");來獲取value。其他語言類似。具體的例子:
在頁面xxx.html(或jsp或其他)中執行以下JS語句:
window.open("topic.jsp?topicID=123");
那麼在topic.jsp中可以使用java獲取參數:
<% String id = request.getParameter("topicID"); %>
獲取到的參數是:<%=id %>
下面再舉一個例子是請求action的:
在頁面xxx.html(或jsp)中執行以下JS語句:
window.open("topic_findByID.do?topicID=123");
在Struts的Action中可以:
String id = request.getParameter("topicID");
Topic topic = topicBiz.findByID(id);
這樣獲取到topic對象後,就可以繼續你想要的操作了,例如:response.sendRedirect("xxxx.jsp")等等
⑥ extjs 中怎樣實現級聯!
給你個例子,慢慢看,順便打個廣告,歡迎加入程序員之家(59380540) this._shipStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "va21.do?action=getchild"
}),
method : 'post',
reader : new Ext.data.JsonReader({
root : "ShipData"
}, new Ext.data.Record.create([{
name : "id"
}, {
name : "text"
}]))
}) this._clearancePointStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : "so.do?action=getClearancePoint"
}),
method : 'post',
reader : new Ext.data.JsonReader({
root : "ClearancePoint"
}, new Ext.data.Record.create([{
name : "text"
}]))
}); this.clearancePoint = new Ext.form.ComboBox({
id : this.id + 'clearancePoint',
fieldLabel : '卸貨點 ',
emptyText : '請選擇',
disabled : this.tDis,
readOnly:true,
width : 100,
store : this._clearancePointStore,
displayField : 'text',
mode : 'local',
triggerAction : 'all'
}); this.shipToTriger = new Ext.form.ComboBox({
id : this.id + '_shipTo',
disabled : this.tDis,
emptyText : '請選擇',
store : this._shipStore,
displayField : 'text',
fieldLabel : '送達方',
mode : 'local',
readOnly : true,
valueField : 'id',
triggerAction : 'all',
anchor : '100%'
}); this.soldToTriger = new CustTrigger({
id : this.id + '_soldTo',
fieldLabel : '售達方',
disabled : this.tDis,
width : 100,
value_all : this.id + '_soldTo',
label_all : this.id + '_soldTo_label',
wirteBackId : this.id + '_soldTo',
wirteBackTextId : this.id + '_soldTo_label',
validateOnBlur : false,
selectOnFocus : true,
forceSelection : true,
typeAhead : true,
listeners : {
"change" : function() {
NorthFormPanel.shipToTriger.clearValue();
NorthFormPanel._shipStore.load({
url : 'va21.do',
params : {
action : 'getchild',
getfValue : NorthFormPanel.soldToTriger.getValue()
},
callback : function(r, options, success) {
if (r == '') {
Ext.MessageBox.show({
title : '提示',
msg : "暫未找到對應送達方,請校正售達方< "+NorthFormPanel.soldToTriger.getValue()+" >是否鍵入正確!",
buttons : Ext.MessageBox.OK,
icon : Ext.MessageBox.ERROR
});
}
} });
},
scope : this
}
});
⑦ extjs怎麼獲取後台的數據或者是變數。。。求大神速回
1. 使用form表單提交
使用表單提交是調用了表單的submit方法,其配置項包括url、method等。這種方式能夠以JSON的形式提交參數信息。
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel : 'Name',
name : 'name'
},{undefined
fieldLabel: 'Gender',
name : 'gender'
},{undefined
fieldLabel : 'Age',
name: 'age'
}],
buttons: [{undefined
text : 'load',
handler : function(){undefined
this.up('form').getForm().submit({undefined
url: '/request/userinfo',
method : 'POST',
success : function(form, action){undefined
console.log(form);
Ext.Msg.alert('title', 'load success');
});
}]);
2. 使用Ajax非同步提交
將上述handler方法中的內容換成一下代碼即可。在Ajax的request方法中是一個配置對象,其配置參數包括url,type,params。其中params表示要提交的參數,在此例中是從form表單中通過getValues()方法獲得的。該種方式也能將參數一JSON的方式提交到後台,與一個對象匹配。
var values = this.up('form').getForm().getValues();
Ext.Ajax.request({undefined
url:'/request/userinfo',
headers : {undefined'userHeader': 'userMsg'},
type:'POST',
params:values,
success:function(response){undefined
var data = response.responseText;
console.log(data);
console.log("success");
},
});
3. 使用Ext.data.Store
在項目中經常需要通過提交一些數據來從後台獲取相應的信息。例如,在表單中輸入某個人的id和name就可以查出它的相關信息並在前台顯示。一個關於extjs的例子如下:
//data Model
Ext.define('User',{undefined
extend: 'Ext.data.Model',
fields: [{name:'name',type:'string'},
{name:'gender',type:'string'},
{name:'age',type:'string'}
]
});
var userStore = Ext.create('Ext.data.Store',{undefined
model: 'User',
pageSize: 20,
// autoLoad : true,
proxy: {undefined
type : 'ajax', //提交數據的方式
url : '/request/userinfo',
reader : { //以json的形式讀取將要提交的數據
type : 'json',
root : 'resultList'
},
writer : {undefined
type : 'json'
},
actionMethods : {undefined
create : 'POST'
}
},
});
//grid Panel
Ext.create('Ext.grid.Panel',{undefined
store: userStore,
columns: [
{header : 'Name', dataIndex : 'name'},
{header : 'Gender', dataIndex : 'gender'},
{header : 'Age', dataIndex : 'age'}
],
height: 200,
width: 400,
renderTo: 'div2'
});
//form Panel
var myform = Ext.create('Ext.form.Panel',{undefined
defaultType: 'textfield',
items:[{undefined
fieldLabel: 'Name',
name: 'name'
},{undefined
fieldLabel: 'Gender',
name: 'gender'
},{undefined
fieldLabel : 'Age',
name : 'age'
}],
buttons: [{undefined
text: 'load',
handler: function(){undefined
var values = this.up('form').getForm().getValues();
console.log(values);
userStore.proxy.extraParams=values;
userStore.loadPage(1);
}
}
});
在handler方法中獲取form表單的參數後,賦值給userStore.proxy.extraParams,然後調用userStore.loadPage(1)。調用loadPage()方法時,會委託給proxy對象去後台獲取數據。所以對proxy的配置是核心。使用這個方式從後台獲取數據時,後台介面返回的對象應該包括一個List欄位,list中包含所需要的具體信息。比如
@ReponseBody
public UserInfoResp getUserInfo(User user) {undefined
}
UserInfoResp應該像這樣有一個List欄位
class UserInfoResp {undefined
List<User> resulltList;
}
⑧ 在Extjs中,我想通過點擊一個按鈕,然後在一個TabPanel中加入一個Panel組件,請問怎麼做
var centerPanel = Ext.create('Ext.TabPanel', {
region: 'center',
deferredRender: false,
activeTab: 0,
items: []
})
var ftab = Ext.create('Ext.Panel', {
tpl: new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;padding:4px 4px 4px 4px;" src="{url}"></iframe>'),
load: function (b) { this.update(this.tpl.apply(b)) }, clear: function () { this.update("") },
title: '首頁',
autoScroll: true
});
ftab.load({ url: '<%=Url.Action("Welcome",new{ controller="Home"}) %>' });
centerPanel.add(ftab);
function trsel(view, record, item, index, e) {
if (record.raw.leaf) {
var tab = centerPanel.getComponent("tab" + record.raw.id); //獲取tab對象
if (!tab) {//如果tab不存在,就創建並添加到中
tab = Ext.create('Ext.Panel', {
tpl: new Ext.XTemplate('<iframe style="width: 100%; height: 100%; border: 0;padding:4px 4px 4px 4px;" src="{url}"></iframe>'),
load: function (b) { this.update(this.tpl.apply(b)) }, clear: function () { this.update("") },
id: "tab" + record.raw.id,
title: record.raw.text,
closable: true,
autoScroll: true
});
tab.load({ url: '/' + record.raw.menu_area + '/' + record.raw.menu_controller + '/' + record.raw.menu_action });
centerPanel.add(tab);
}
centerPanel.setActiveTab(tab); //設置顯示當前面板
}
};
函數是點擊菜單樹時調用的。你自己調整一下,點按鈕時調這個函數就可以。不過網上說用iframe不好,我也想看看有沒有其他的方法