waf.window.open打开新页面如何传递数据

waf.window.open打开新页面如何传递数据

当我们使用帮助系统的窗体控件打开新页面时,想传递一些参数到子页面去。通常会给data赋值。

但是,这种方式只是在请求打开的url时,传递了一个参数到后台。通过F12控制台可以观测到。

如何再将该参数传递到打开的页面上呢?

  1. 既然请求里传了该值,则在后台的request中可以拿到;

  1. 扩展要打开的页面的后台initData的after事件,将参数拿到并放到initData中;
    HttpServletRequest request = event.getReqeustContext().getHttpServletRequest();
    
    String myParams = request.getParameter("params");
    
    Map<String, Object> initData = (Map<String, Object>)event.getInitData();
    
    initData.put("myParams", myParams);
    
  2. 前台通过_self.getPageInitData().myParams取到值。

或者可以直接放在url后面传参:

然后在url中解析到该属性,框架也提供了工具方法

waf.getUrlParams().test;

相关样例