① 使用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不好,我也想看看有没有其他的方法