extjs 获得树节点的url方法
js获取url参数方法

js获取url参数方法在前端开发中,经常需要获取URL中的参数。
这些参数能够提供有关当前页面的重要信息,例如用户ID或者搜索关键词。
在JavaScript中获取URL参数的方法有很多,下面是常用的几种方法: 1. 使用location对象在JavaScript中,可以使用location对象获取当前URL的所有信息,包括参数。
location.search属性返回URL中的查询字符串部分,即“?”后面的内容。
通过字符串截取和正则表达式匹配可以获取参数的值。
示例代码如下:```function getUrlParam(name) {var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); var r = window.location.search.substr(1).match(reg);if (r != null) return unescape(r[2]);return null;}// 使用方法var userId = getUrlParam('userId');```2. 使用URLSearchParams对象URLSearchParams是一个新的Web API,用于解析和操作URL中的查询字符串。
通过URLSearchParams对象可以轻松获取和设置URL 参数。
示例代码如下:```var searchParams = newURLSearchParams(window.location.search);var userId = searchParams.get('userId');```3. 使用jQuery库如果项目中已经引入了jQuery库,可以使用它提供的便捷方法获取URL参数。
jQuery库提供了$.param()函数将URL参数转化为对象,$.getUrlParam()函数可以方便地获取URL参数的值。
jspRequest获取url信息的各种方法比较

jspRequest获取url信息的各种⽅法⽐较Java代码1. 从Request对象中可以获取各种路径信息,以下例⼦:2. 假设请求的页⾯是index.jsp,项⽬是WebDemo,则在index.jsp中获取有关request对象的各种路径信息如下3. String path = request.getContextPath();4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";5. String remoteAddress=request.getRemoteAddr();6. String servletPath=request.getServletPath();7. String realPath=request.getRealPath("/");8. String remoteUser=request.getRemoteUser();9. String requestURI=request.getRequestURI();10. out.println("path:"+path+"<br>");11. out.println("basePath:"+basePath+"<br>");12. out.println("remoteAddr:"+remoteAddress+"<br>");13. out.println("servletPath:"+servletPath+"<br>");14. out.println("realPath:"+realPath+"<br>");15. out.println("remoteUser:"+remoteUser+"<br>");16. out.println("requestURI:"+requestURI+"<br>");17. 结果:18. path:/WebDemo19. basePath:http://localhost:8683/WebDemo/20. remoteAddr:127.0.0.121. servletPath:/index.jsp22. realPath:D:\apache-tomcat-6.0.13\webapps\WebDemo\23. remoteUser:null24. requestURI:/WebDemo/index.jsp25. 从上不难看出request各个对应⽅法所代表的含义Java代码1. 从request获取各种路径总结:2. request.getRealPath("url");//虚拟⽬录映射为实际⽬录3. request.getRealPath("./");//⽹页所在的⽬录4. request.getRealPath("../");//⽹页所在⽬录的上⼀层⽬录5. 假定你的web application(web应⽤)名称为news,你的浏览器中输⼊请求路径:http://localhost:8080/uploading/load.jsp6. request.getContextPath() => /uploading7. request.getServletPath() => /load.jsp8. request.getRequestURL() => http://localhost:8080/uploading/load.jsp9. request.getRealPath("/") => F:\learn\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\uploading\10. 现在request.getRealPath("/") 这个⽅法已经不推荐使⽤了11. 可以使⽤12. ServletContext.getRealPath(ng.String) instead.13. request.getSession().getServletContext().getRealPath() 得到⼯程⽂件的实际物理路径,也就是绝对地址Java代码1. //Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request2. // eg. /manage/editExam.domethod=goExamSet&type=U3. String url = request.getRequestURI();4. //The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters5. //eg. http://127.0.0.1:8080/manage/editExam.domethod=goExamSet&type=U6. StringBuffer url_buffer = request.getRequestURL();7. HttpServletRequest 的这两种⽅法都只能得到不包含参数的请求url,区别如下:8. 1 前者返回相对路径,后者返回完整路径9. 2 前者返回string ,后者返回stringbuffer10. 得到完整请求url可以通过如下⽅法,getQueryString()得到的是url后⾯的参数串,和前者相加就是带参数的请求路径了11. String queryString = request.getQueryString();12. ring fullPath = url + queryString; // 或者是url_buffer.toString()+queryString;。
extjs树的详细应用

/lunzi/102821.html树节点组合模型package .jsnh.model.catalog;public class TreeModel {private String node;private CatalogModel model;public String getNode() {return node;}public void setNode(String node) {this.node = node;}public CatalogModel getModel() {return model;}public void setModel(CatalogModel model) { this.model = model;}}栏目模型【实际的树节点】package .jsnh.model.catalog;public class CatalogModel {private String id;private String text;private Boolean leaf;private String cls;private String action;private String model;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getText() {return text;}public void setText(String text) {this.text = text;}public Boolean getLeaf() {return leaf;}public void setLeaf(Boolean leaf) {this.leaf = leaf;}public String getCls() {return cls;}public void setCls(String cls) {this.cls = cls;}public String getAction() {return action;}public void setAction(String action) { this.action = action;}public String getModel() {return model;}public void setModel(String model) { this.model = model;}}<%@ page import="java.util.*,.jsnh.model.catalog.TreeModel,.jsnh.model.catalog.CatalogModel,net.sf.json.JSONObject,net.sf.json.JSONArray,net.sf.ezmorph.bean.MorphDynaBean"contentType="text/html;charset=utf-8"%> <%try{String node = request.getParameter("node");System.out.println("node="+node);List<TreeModel> tree = new ArrayList<TreeModel>();TreeModel treeModel = new TreeModel();CatalogModel catalogModel = new CatalogModel();catalogModel.setId("100000");catalogModel.setText("个人管理专区");catalogModel.setLeaf(Boolean.FALSE);catalogModel.setCls("folder");catalogModel.setAction("100000");catalogModel.setModel("100000");treeModel.setNode("root");treeModel.setModel(catalogModel);tree.add(treeModel);treeModel = new TreeModel();catalogModel = new CatalogModel();catalogModel.setId("100001");catalogModel.setText("修改我的资");catalogModel.setLeaf(Boolean.TRUE);catalogModel.setCls("file");catalogModel.setAction("x.action");catalogModel.setModel("user");treeModel.setNode("100000");treeModel.setModel(catalogModel);tree.add(treeModel);treeModel = new TreeModel();catalogModel = new CatalogModel();catalogModel.setId("100002");catalogModel.setText("个人消息");catalogModel.setLeaf(Boolean.TRUE);catalogModel.setCls("file");catalogModel.setAction("x.action");catalogModel.setModel("message");treeModel.setNode("100000");treeModel.setModel(catalogModel);tree.add(treeModel);List<CatalogModel> catalogList = new ArrayList<CatalogModel>();for(TreeModel o:tree){if(o.getNode().equals(node)){catalogList.add(o.getModel());}}JSONArray json = JSONArray.fromObject(catalogList);response.getWriter().write(json.toString());} catch(Exception ex) {}%><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>后台框架演示</title><link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css"/> <link rel="stylesheet" type="text/css" href="css/common.css"/><script type="text/javascript" src="../extjs/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../extjs/ext-all.js"></script><script type="text/javascript" src="../extjs/ext-lang-zh_CN.js"></script><script type="text/javascript" src="script/common.js"></script><script type="text/javascript" src="script/json/json.js"></script><script type="text/javascript" src="script/json/json2.js"></script></head><body><script type="text/javascript">var Tree = Ext.tree;var root = new Tree.AsyncTreeNode({text: 'Ext JS',draggable:false,id:'root',children:[{//子节点text:'loading',//显示文字为loadingiconCls: 'loading',//使用图标为loading 在index.html style 中定义 leaf:true//是叶子节点,不再包含子节点}]});var treeLoader=new Ext.tree.TreeLoader();//指定一个空的TreeLoadervar tree = new Ext.tree.TreePanel({contentEl:'west',border:true,root:root,region:'west',id:'west-panel',split:true,width: 200,minSize: 175,maxSize: 400,margins:'0 0 0 0',layout:'accordion',title:'功能菜单',collapsible :true,layoutConfig:{animate:true},rootVisible:true,autoScroll:true,loader:treeLoader});tree.on('click',treeClick);//tree.expandAll();var tab = new Ext.TabPanel({region:'center',deferredRender:false,activeTab:0,items:[{contentEl:'center2',title: '首页',autoScroll:true}]});function treeClick(node,e) {if(node.isLeaf()){e.stopEvent();var n = tab.getComponent(node.id);if (!n) {var n = tab.add({'id' : node.id,'title' : node.text,closable:true,html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="index.php?model='+node.attributes.model+'&action='+node.attributes.action+'"></iframe>'});}tab.setActiveTab(n);}}function newTab(id,text,url) {var n = tab.getComponent(id);if (!n) {var n = tab.add({'id' : id,'title' : text,closable:true,html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="'+url+'"></iframe>'});}tab.setActiveTab(n);}function gettree(node){if(node.firstChild.text=='loading'){var par = node.id;//alert('par='+par);Ext.Ajax.request({url: 'jsonTree.jsp',params: {node:par},method: 'GET',success: function(v){ //成功返回var myData = JSON.parse(v.responseText); // 得到服务器返回的json串,并用json.js解析过对象数组for(var i=0;i<myData.length;i++ ){var cnode=new Ext.tree.AsyncTreeNode({id:myData<i>.id,//id 为服务器返回id 父节点idtext:myData<i>.text,//显示内容为服务器返回id 父节点idleaf:myData<i>.leaf,//是否为叶子节点,根据服务器返回内容决定是否为叶子节点children:[{//添加子节点,如果服务器返回tl<i>.leaf为ture则孩子节点将无法显示 text:'loading',iconCls: 'loading',leaf:true}]});cnode.on('expand',gettree);//定义当前节点展开时调用gettree方法,再次异步读取子节点node.appendChild(cnode);//将当前节点添加为待展开节点子节点}node.firstChild.remove();//删除当前节点第一个孩子节点(loading节点)},failure: function2 // 失败});}}function function2(){alert("failure");}Ext.onReady(function(){var viewport = new Ext.Viewport({layout:'border',items:[new Ext.BoxComponent({region:'north',el: 'north',height:35}),tree,tab]});tree.render();root.on('expand',gettree);//当根节点展开后触发gettree事件//root.expand();loadend();});function openWindow(id,title,url,width,height){var win = Ext.get(id)if (win) {win.show();return;}win = new Ext.Window({id:id,title:title,layout:'fit',width:width,height:height,closeAction:'close',collapsible:true,plain: true,html : '<iframe frameborder="0" width="100%" height="100%" src="'+url+'"></iframe>' });win.show();}</script><div id="north"><p class="api-title">MYOIS 1.0 Office Information System</p></div><div id="west"></div><div id="center2">center2</div><div id="loading-mask" style=""></div><div id="loading"><div class="loading-indicator"><img src="images/loading.gif" width="32"height="32" style="margin-right:8px;" align="absmiddle"/>Loading...</div></div></body></html>。
用ExtJS 实现动态载入树(Load tree)

【Android编程之旅】社区活动:写博文获精彩图书!用ExtJS 实现动态载入树(Load tree)分类:web ExtJS 2007-11-09 14:23 16502人阅读评论(14) 收藏举报用ExtJS 实现动态载入树(Load tree)1、数据库背景:这里有一个组织机构表,结构如下:Oracle DDL脚本:create table ORGANIZATION(ORGID NUMBER(10) not null,PARENTID NUMBER(10) not null,ORGNAME VARCHAR2(32) not null,ISAVAILABLE NUMBER(1) default1not null);alter table ORGANIZATIONadd constraint PK_ORGID primary key (ORGID);alter table ORGANIZATIONadd constraint FK_ORGID_PARENTID foreign key (PARENTID)references ORGANIZATION (ORGID);初始化数据内容(注意第一行数据是必需的):insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (-100, -100, '组织机构图', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (1, -100, '公司总部1', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (2, -100, '公司总部2', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (3, -100, '公司总部3', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (4, 1, '公司总部1-1', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (5, 1, '公司总部1-2', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (6, 2, '公司总部2-1', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (7, 2, '公司总部2-2', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (8, 3, '公司总部3-1', 1);insert into LOON_ORGANIZATION (ORGID, PARENTID, ORGNAME, ISAVAILABLE) values (9, 3, '公司总部3-2', 1);有了数据库支持就可以动态的从数据库中提取树数据。
基于JavaScript获取url参数2种方法

基于JavaScript获取url参数2种⽅法这次是使⽤JavaScript来获取url(request)中的参数在⽇常页⾯编写的过程中为了⽅便操作在<script>中通过使⽤window.location.href="要跳转的页⾯?参数1=" rel="external nofollow" +值1+"&参数2="+值2 来进⾏页⾯跳转并传值。
那么在跳转过去的页⾯怎样在<script>中获取到传过来的参数呢?下⾯是⼩编的⼀个案例://参数传出页⾯window.location.href = "Frameset.aspx?name=" + username + "&tbpwd="+tbpwd;//这⾥是我要将username和tbpwd作为参数传到Frameset.aspx这个页⾯上⼀、字符串分割分析法//参数接收页⾯(Frameset.aspx)<script type="text/javascript" language="javascript">$(function () {var url = location.search; ////获取接收到的url中含"?"符后的字串var request = new Object(); //实例化⼀个对象if (url.indexOf("?") != -1) { //判断“?”后⾯是否有值var str = url.substr(1) //去掉括?号strs = str.split("&");for (var i = 0; i < strs.length; i++){request[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);//将参数和对应的值使⽤split函数切割出来}} //以此获取url串中所带的同名参数alert(request["name"]);alert(request["tbpwd"]);})</script>⼆、正则分析法<script type="text/javascript" language="javascript">function GetQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");var r = window.location.search.substr(1).match(reg);if (r!=null) return unescape(r[2]);return null;}alert(GetQueryString("参数名1"));alert(GetQueryString("参数名2"));</script>以上两种⽅法都是可以实现js通过window.location.href进⾏页⾯跳转及传参后在跳转后的页⾯接收到参数!以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Extjs4.2下拉树 ComboBoxTree

});
record.cascadeBy(function (node) {
} else {
self.setDefaultValue('', self.emptyText);
}
});
self.callParent();
},
constructor: function (config)
});
record.bubble(function (parentNode) {
if ('Root' != parentNode.get('text')) {
record = this.getRecord(item);
var check = !record.get('checked');
record.set('checked', check);
if ('Root' != parentNode.get('text')) {
parentNode.set('checked', true);
} else {
record.cascadeBy(function (node) {
node.set('checked', false);
/* 调用方式
var rescomboBoxTree = Ext.create('boboxTree', {
fieldLabel: '权限设置',
name: 'resIDS',
hiddenName: 'hiddenName',
js如何获取url参数,拼接url参数

js如何获取url参数,拼接url参数1、通过字符串截取的⽅式获取参数值;(注意location.search截取“?”后的字符串,该⽅法只适⽤于通过链接跳转的路径,如果是直接截取路径则返回空值,因此应该加上判断)1 /**2 * [获取URL中的参数名及参数值的集合]3 * ⽰例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&username=张三6 */7 function GetRequest(urlStr) {//两种⽅式,输⼊链接获取或当前链接获取8 if (typeof urlStr == "undefined") {9 var url = decodeURI(location.search); //获取url中"?"符后的字符串10 } else {11 var url = "?" + urlStr.split("?")[1];12 }13 var theRequest = new Object();14 if (url.indexOf("?") != -1) {15 var str = url.substr(1);//去掉问号,问号为第⼀个字符16 strs = str.split("&");17 for (var i = 0; i < strs.length; i++) {18 theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);19 }20 }21 return theRequest;22 }下⾯我们看⼀下结果:1 var parms_1 = GetRequest();2 console.log(parms_1); // {"uid":"admin","rid":"1","fid":"2","name":"张三"}3 console.log(parms_1['name']); // '张三'4 var parms_2 = GetRequest('http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三');5 console.log(parms_2); // {"uid":"admin","rid":"1","fid":"2","name":"张三"}6 console.log(parms_2['name']); // '张三'2、通过参数名获取url中的参数值1 /**2 * [通过参数名获取url中的参数值]3 * ⽰例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三6 */7 function GetQueryValue(queryName) {8 var query = decodeURI(window.location.search.substring(1));//将url转码,如果不是当前地址链接,可以在这⾥填写需要的链接9 var vars = query.split("&");//分割字符串,将url切割成数组形式的对象10 for (var i = 0; i < vars.length; i++) {11 var pair = vars[i].split("=");//再次分割成数组12 if (pair[0] == queryName) { return pair[1]; }//如果匹配输出结果13 }14 return null;15 }看⼀下结果:1 var queryVal=GetQueryValue('name');2 console.log(queryVal);// 张三3、通过正则获取到参数值;1 /**2 * [通过参数名获取url中的参数值]3 * ⽰例URL:http://htmlJsTest/getrequest.html?uid=admin&rid=1&fid=2&name=张三6 */7 function GetQueryValue1(queryName) {8 var reg = new RegExp("(^|&)" + queryName + "=([^&]*)(&|$)", "i");9 var r = window.location.search.substr(1).match(reg);10 if ( r != null ){11 return decodeURI(r[2]);12 }else{13 return null;14 }15 }看⼀下结果:1 var queryVal=GetQueryValue1('name');2 console.log(queryVal);// 张三。
ExtJS Tree刷新后自动展开并选择节点

});
}
var tree = new Ext.ux.tree.TreeGrid(
{
title : '地市',
width : 550,
height : 300,
dataUrl : 'treegrid-data.json',
renderTo : Ext.getBody(),
scope : this,
handler : function(b, e) {
//获取当前选择节点的路径
var node = tree.getSelectionModel()
.getSelectedNode();
oLastNode);
});
}
},
{
text : '重载',
tooltip : '重载数据并选择上一次的节点',
scope : this,
handler : function(b, e) {
//展开路径,并在回调函数里面选择该节点
tree.expandPath(path, 'id', function(
bSucess, oLastNode) {
tree.getSelectionModel().select(
.getSelectionModel()
.select(
oLastNode);
});
}, this);
}
//展开路径,并在回调函数里面选择该节点
tree.expandPath(path, 'id', function(bSucess,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
extjs 获得树节点的url方法
在 ExtJS 中,如果你想从一个树节点获取其关联的 URL,通常这个 URL 是作为该节点的数据属性存储的。
以下是一个基本的方法来从一个树节点获取 URL:
1. **定义你的树节点数据**:确保每个节点都有一个 `url` 属性。
```javascript
[
{
"text": "Node 1",
"url": "node1_url",
"children": [
{
"text": "Child Node 1",
"url": "childnode1_url"
}
]
},
{
"text": "Node 2",
"url": "node2_url"
}
]
```
2. **在选择节点时获取 URL**:使用
`getSelectionModel().getSelection()` 来获取当前选中的节点,然后从该节点的数据对象中获取 `url` 属性。
```javascript
var store = Ext.data.TreeStore.create({fields: ['text', 'url']});
store.loadData(yourData); // 将上面的数据替换为你的数据
var tree = Ext.create('Ext.tree.Panel', {
store: store,
columns: [
{ text: 'Node', dataIndex: 'text' }
],
height: 300,
width: 500,
renderTo: Ext.getBody()
});
tree.getSelectionModel().on('selectionchange', function(view, nodes) {
var selectedNode = nodes[0]; // 获取第一个选中的节点(如果有) if (selectedNode) {
var url = selectedNode.get('url'); // 获取节点的 url 属性 console.log(url); // 输出 URL 到控制台
}
});
```
3. **注意事项**:确保你的数据是正确的,并且 `url` 属性确实存在于你想从中获取 URL 的节点上。
此外,这个方法依赖于你在节点上设置了 `url` 属性,并且该属性包含了你想要的 URL。