坑爹的ShowModalDialog 后台传值解决方案

访客11年前 (2015-12-16)java技术5921

 今天遇到需要ShowModalDialog打开页面,通过acceptanceIds 参数值后台过滤出相应结果

前台  

var url = "loadAcceptance.action?acceptanceIds=" + id("acceptanceIds").value ;
  var returnValue = ShowModalDialog(url,1000,600);

后台:

 public String loadAcceptance() {
  
  if (StringUtils.isNotBlank(acceptanceIds)) {
   ascceptances =  expenseService.loadAscceptances(acceptanceIds, this.getBmYear());
  }

  return "ascceptances_detail";
 }


结果:

 后台显示acceptanceIds 值为null


思考后得知ShowModalDialog 无法直接将url中的参数值传递到后台如需传递到后台需先找jsp页面进行中转处理

解决方案:

前台页面:

    var url = "popub_acceptance.jsp?acceptanceIds=" + id("acceptanceIds").value ;
  var returnValue = uf_ShowModalDialog(url,1000,600);

中转jsp页面popub_acceptance.jsp

</head>
<% 
 String ls_QueryString = request.getQueryString(); 
%>
<body bgcolor="#FFFFFF" text="#000000" leftmargin=0 topmargin=0 >
  <table width="100%" border="0" height="100%">
    <tr>
      <td>
        <iframe id=iframe_list src="loadAcceptance.action?<%=ls_QueryString%>"  frameborder=0 width=100% height="100%" scrolling="auto" align=center valign=top></iframe>
      </td>
    </tr>
  </table>
</body>
</html>

后台

 public String loadAcceptance() {
  
  if (StringUtils.isNotBlank(acceptanceIds)) {
   ascceptances =  expenseService.loadAscceptances(acceptanceIds, this.getBmYear());
  }

  return "ascceptances_detail";
 }


本文原创,转载必追究版权。

分享给朋友:

相关文章

Oracle 数据库cmd命令备份

 //导出exp wsbspt/wsbspt@192.168.1.101/wsbs file=D:/wsbspt.dmp log=D:/wsbspt.txt//导入imp &nbs...

java.lang.ClassNotFoundException: oracle.jdbc.driver.OralceDriver

 java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver这个错误;原因可能是 少了驱动 ,少包class...

js/jquery 实现点击图片更换头像(图片)实例

    总之一句话, 可以先将 file类型 的input 隐藏 起来,通过 图片(头像)的onclick事件 来触发 file 的onclick事件。1.引入外部js:...

开机密码忘记怎么办

1、重新启动计算机,在启动画面出现后马上按下F8键(不同类型型号电脑启动键不一样,参考附加),选择“带命令行的安全模式”。2、运行过程结束时,系统列出了系统超级用户“administrator”和本地...

竟然可以这样打扮!女人呆了!男人痴了!

来个轻松点的哇,惊呆了,肯定贵不了,立刻去瞅瞅...

评论列表

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。