起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: litainci

[结贴] 使用门户提供的方法进行页面跳转

  [复制链接]

10

主题

43

帖子

158

积分

初级会员

Rank: 2

积分
158
QQ
发表于 2015-10-30 17:16:17 | 显示全部楼层
v3.2.1中好像 url 要写成 $model/UI2/example2_11_2/child.w;
这个事情与在“文档中心”里面描述的不一样(楼主好像用的就是文档中心写的方法);

另外,Portal.openWindow(url, option), 这个方法的option部分好像自定义参数传不过去;
例如 一个页面中调用:justep.Portal.openWindow(url, {a:"123"}),
在被打开的页面中事先加上:
Model.prototype.modelLoad = function(event){
        alert(this.getContext().getRequestParameter('a'));
};
但是无法获取到参数。。。
如何才能向目标页面传参呢?(不想用windowDialog的方式)
回复 支持 反对

使用道具 举报

发表于 2015-10-30 17:43:13 | 显示全部楼层
xplay 发表于 2015-10-30 17:16
v3.2.1中好像 url 要写成 $model/UI2/example2_11_2/child.w;
这个事情与在“文档中心”里面描述的不一样( ...

参数并不是这样传递吧,
参考:http://doc.wex5.com/?p=5013
直接在.w后面?建参数
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

43

帖子

158

积分

初级会员

Rank: 2

积分
158
QQ
发表于 2015-10-30 21:47:08 | 显示全部楼层
本帖最后由 xplay 于 2015-10-31 10:59 编辑

你说的是 WeX5的情况吧,这个我不太清楚,我在用BeX5,
文档中心里不是分两种平台描述的。我在BeX5 v3.2.1开发环境下测试了一下:

需要打开的目标页面为:
        http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!($model/UI2/APP1/MOD1/process/Process1/Act1.w)

用Portal.openWindow(url) 方式打开的几种情况:

        url='$model/UI2/APP1/MOD1/process/Process1/Act1.w'
        结果打开的地址:(正常)
                http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!($model/UI2/APP1/MOD1/process/Process1/Act1.w)

        url='$UI/APP1/MOD1/process/Process1/Act1.w'
        结果打开的地址:出错!
                url='        $model/UI2/APP1/MOD1/process/Process1/Act1.w?a=1'
        结果打开的地址:出错!

        错误信息:
                编码: JUSTEP151005; 提示: 定义Activity "/SA/OPM/system/systemProcess,mainActivity"出错, "/SA/OPM/system/systemProcess,mainActivity"中不存在Action "queryAP_MOD1Action"
                注:/APP1/MOD1/process/Process1/Process1Process 中需要且已经指定了 action:queryAP_MOD1Action;

用Portal.openWindow(url, {
                process : "/APP1/MOD1/process/Process1/Process1Process",
                activity : "Act1" })   方式打开的几种情况:
               
        url='$model/UI2/APP1/MOD1/process/Process1/Act1.w'
        结果打开的地址:(正常)
                http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!($model/UI2/APP1/MOD1/process/Process1/Act1.w)

        url='$UI/APP1/MOD1/process/Process1/Act1.w'
        结果打开的地址:(内容title消失,地址不同)
                http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!(/x5/UI2/v_02b61a1cd7bb43a1be59908368957469l_zh_CNs_desktopd_pc/APP1/MOD1/process/Process1/Act1.w?process=/APP1/MOD1/process/Process1/Process1Process&activity=Act1)

        url='$UI/APP1/MOD1/process/Process1/Act1.w?a=1'
        结果打开的地址:(内容title消失,地址不同,出现参数a=1)
                http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!(/x5/UI2/v_02b61a1cd7bb43a1be59908368957469l_zh_CNs_desktopd_pc/APP1/MOD1/process/Process1/Act1.w?a=1&process=/APP1/MOD1/process/Process1/Process1Process&activity=Act1)

        url='$model/UI2/APP1/MOD1/process/Process1/Act1.w?a=1'
        结果打开的地址:(内容title消失,地址不同2,出现参数a=1)        
                http://127.0.0.1:8080/x5/UI2/portal/pc/index.w?device=pc#!(/x5/UI2/v_02b61a1cd7bb43a1be59908368957469l_zh_CNs_desktopd_pc/APP1/MOD1/process/Process1/Act1.w?a=1&process=/APP1/MOD1/process/Process1/Process1Process&activity=Act1)


所以,好像要用 .w?带参数的方式,在BeX5 环境下不好用,因为我希望达到如下几个要求:
  • 打开的地址与正常的一样
  • 内容不要被变更(title部分也不应该变)
  • 希望能把参数传过去





回复 支持 反对

使用道具 举报

发表于 2015-11-2 09:30:22 | 显示全部楼层
xplay 发表于 2015-10-30 21:47
你说的是 WeX5的情况吧,这个我不太清楚,我在用BeX5,
文档中心里不是分两种平台描述的。我在BeX5 v3.2.1 ...

http://doc.wex5.com/?p=5013
页面跳转也适用于bex5。
接收参数的方式就是this.getContext().getRequestParameter('参数');
你说的title变了是指的什么?你的.w是怎样设计的页面就怎样显示呗。
职业UI2后边的那一串随机字符串(你说的url地址),只要tomcat不重新启动,就不会变的。

你可以截图说明什么变了?什么不需要变。
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

10

主题

43

帖子

158

积分

初级会员

Rank: 2

积分
158
QQ
发表于 2015-11-2 12:47:06 | 显示全部楼层
请再仔细看看我的测试案例,从portal的菜单中正常打开的页面的地址,和用 openWindow方法,带option参数方式下打开的地址是不同的,我用加蓝底色标出了。

虽然,用this.getContext().getRequestParameter('参数') 可以获得 .w?后面的参数。。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2015-11-2 17:49:10 | 显示全部楼层
openwindow的时候需要传title才会显示title

var options = {aa:'1',title:'aaa'};
               
       justep.Portal.openWindow("$UI/appdemo/test/process/total/mainActivity.w?process=/appdemo/test/process/total/totalProcess&activity=mainActivity", options);

这两个用法一样,一个报错一个不报错?
portal.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

10

主题

43

帖子

158

积分

初级会员

Rank: 2

积分
158
QQ
发表于 2015-11-3 20:09:05 | 显示全部楼层
是的,指向 ....w?a=1,带option参数,和不带option参数,就是后者会出错!错误信息我上面都贴了,您可以去验证一下。
(ps: 前一个url字串中本来不含空格,是小的贴代码时的笔误)

另外,有个问题不理解,.w页面所属的process/activity都是设计时固定的,为何option参数中还要再指定一次?
是不是一个.w文件可以为不同的process/activity 公用?
即便是这样,option参数中不写process/activity也应该使用设计时所对应目录的process/activity吧。

title也是同理,.w文件中已经包含title信息,为何调用时还要再指定一次?不指定titile就应该使用.w文件原来的title才说得通。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2015-11-4 14:15:35 | 显示全部楼层
目前openWindow打开的需要传process、activity和title
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

10

主题

43

帖子

158

积分

初级会员

Rank: 2

积分
158
QQ
发表于 2015-11-9 13:14:21 | 显示全部楼层

是的,指向 ....w?a=1,带option参数,和不带option参数,就是后者会出错!错误信息我上面都贴了,您可以去验证一下。

对于这个问题,有什么说法? 是目前版本的bug?
回复 支持 反对

使用道具 举报

发表于 2015-11-9 13:26:55 | 显示全部楼层
xplay 发表于 2015-11-9 13:14
对于这个问题,有什么说法? 是目前版本的bug?

process、activity和title
这些参数都传了吗?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-2 03:30 , Processed in 0.138547 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表