关于mui页面跳转(跳转及参数传递)

摘要:
openid}});varname=self.name;因此,我后来查看了目标页面的init()函数,该函数可能会使参数openid='+openid,'mspck无效。jsp'})//获取url中的targetId参数vartargetId=getUrlParam('targetId');

页面跳转比较简单的一种写法如下,extras中可以传递扩展参数(param),

传值:

mui.openWindow({
url : 'mspck.jsp',
id : 'mspck.jsp',
extras : {
openid : openid
}
});

取值:

varself= plus.webview.currentWebview();

var name =self.name;

var version =self.version;

但上述写法我无法获取到参数,网上有提到如果目标页面是预加载的页面,则extras所传参数无效,所以我后来看了下可能是目标页面的init()函数使参数无效,期间一个疑问是,我取值的时候,所遇到的问题是plus是未定义的,不知道跟上述的猜测原因是否同属一个问题

故而采用URL传递参数,写法如下:

mui.openWindow({
url : 'mspck.jsp?openid='+ openid,
id : 'mspck.jsp'
});

获取参数的方式如下:

//获取url中的targetId参数
var targetId = getUrlParam('targetId');

// 获取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]);
}else{
return null;
}
}

PS:对于跳转来说,有两种方式

方式一:用类似mui.openWindow的方式在页面上直接打开另一页面

方式二:通过Struts的配置跳转,Struts中可配置方法成功返回后的跳转至指定页面

对于上述两种方式的跳转,浏览器中的URL会呈现出两种状态(当然,前提是类似方式一那样的全路径跳转,这时URL指向的就是页面所在的工作空间)

方式一对应的URL依然是全路径,指向页面所在的工作空间,如:

http://IP:8090/order/modules/order/mspxd.jsp?openid=213456

方式二对应的URL就会变为运行方法的调用,如:

http://IP:端口/orderAction/mspOrderingQuery2.action?openid=23451&ddbh=7231

¥¥¥¥¥¥¥下面重点来了:&&&&&&&

如果使用mui.openWindow的方式来打开页面,要注意URL属性的编写,否则对于方式二的URL,是找不到所要跳转的页面,具体写法如下:

mui.openWindow({
url : '../order/modules/order/mspxd.jsp?openid=234546',
id : 'mspxd.jsp'
});

说明:将指定页面所在工作空间路径写完整,然后重点是开头的省略号,“..”别小看这几个点,能不能跳转成功就靠他们了,这几个点的意思是URL的路径回退一步(两步?),然后URL就剩下了IP和端口的部分,这时候就明白了吧,工作空间路径就是补全了指定页面的路径,这时候也就回到了方式一的全路径URL的跳转方式

免责声明:文章转载自《关于mui页面跳转(跳转及参数传递)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于 Total Commander 的标签(Tab)功能【转】MySQL之IDE工具介绍及数据备份下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JPA JPQL 查询、排序.....(转)

http://macrabbit.iteye.com/blog/855384 JPQL就是一种查询语言,具有与 SQL 相类似的特征, JPQL 是完全面向对象的,具备继承、多态和关联等特性,和hibernate HQL很相似。   查询语句的参数 JPQL 语句支持两种方式的参数定义方式 : 命名参数和位置参数 。 。在同一个查询语句中只允许使用一种参...

ESP8266恢复出厂设置

使用python3对ESP8266恢复出厂设置 1.安装Python库包 pip install esptool 2.恢复出厂设置 首先要确认一下ESP8266所连接的串口号,要以串口号作为指令的参数,如我的设备是在COM3, 我运行的指令就是:esptool.exe --port COM3 erase_flash...

javascript“数组”的常用方法---以及冒泡排序

首先,数组是数据的集合。 可以通过构造函数(var arr = new Array('0','1','hello'))和字面量(var arr = ['0','1'])的方式来创建, 需要注意的是,构造函数创建时,如果值只有一个,而且还是数字,那么他代表数组的长度(var arr = new Array(5),创建一个长度为5的数组)。 数组的索引是从0开...

爬取QQ音乐(讲解爬虫思路)

一、问题描述: 本次爬取的对象是QQmusic,为自己后面做django音乐网站的开发获取一些资源。   二、问题分析: 由于QQmusic和网易音乐的方式差不多,都是讲歌曲信息放入到播放界面播放,在其他界面没有media的资源,喜马拉雅的则不是这样的,可以参考我爬取喜马拉雅的blog与代码:https://www.cnblogs.com/future-d...

MySQL多实例配置(两)

    MySQL操作和维护一个集中的数据库的。它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例。这个功能是由mysqld_multi实现。mysqld_multimysqld的服务进程。这些mysqld服务进程程序能够用不同的socket或是监听于不同的端口,同一时候将数据文件分布到不同的磁盘以分散IO。 mysqld_multi提...

【ArcGIS for Server】制作并发布GP服务--缓冲分析为例

   原理:    Geoprocessor是用py写的脚本,它简单语法,并可以调用大部分ArcGISToolBox里的现有工具,十分强大。Geoprocessing被称之为地理处理,实际上就是ToolBox里的各种tools用py连接起立,连续处理而不用反复操作单个工具,流程化了。ArcGIS还提供了一个可视化的构建Geoprocessor工具,叫Mod...