下面代码使用spring mvc架构
在controller的跳转中,不要直接返回dialog需要展示的页面,直接跳转到一个container中
@RequestMapping("/XXX")
public String XXXX(HttpServletRequest request) {
request.setAttribute("treatmentCycle", 5);
request.setAttribute("respnseCycle", 1);
return "/views/match/throw/throwRuleContainer";
}
- 然后在container中,使用iframe加载需要弹出的dialog,并且将参数通过url的形式传进去
<script src="${pageContext.request.contextPath}/jslib/validate/validateAccount.js "></script>
<iframe id="ifrmDetail" border="0px" width="550px" height="500px"></iframe>
<script type="text/javascript">
var contribution = "${contribution}";
$(function(){
var url = "${pageContext.request.contextPath}/views/XXX/xxx/DDDD.jsp?contribution="+contribution;
$("#ifrmDetail").attr("src",url);
});
</script>
4, 实现一个dialog页面
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8"/>
<jsp:include page="../../../initlib/initAll.jsp"></jsp:include>
<script src="${pageContext.request.contextPath}/jslib/validate/validateAccount.js "></script>
<script type="text/javascript">
</script>
</head>
<body>
<div class="easyui-layout" data-options="fit:true,border:false">
<div data-options="region:'center',border:false" title="" style="overflow: hidden;padding:5px">
<form id="form" method="post">
<fieldset>
<legend>响应规则</legend>
<table class="table" style="width: 100%;">
<tr>
<th>贡献度</th>
<td colspan="6">
<input id = "contribution" readOnly="true" type="text" name="contribution" class="easyui-validatebox"
value="${contribution}" data-options="required:true" maxlength="50"
style="width:100px; height:23px;border:none;background-color: white;""/>
</td>
</tr>
</table>
</fieldset>
</form>
</div>
</div>
<script type="text/javascript">
$(function () {
//获取url中的参数,然后给页面赋值
getQueryString();
});
function getQueryString() {
var reg = new RegExp("(^|&)contribution=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null){
$("#contribution").val(unescape(r[2]));
} else {
$("#contribution").val("0");
}
}
</script>
</body>
</html>
实现思路:
在dialog弹出框继续弹出下一个弹出框的action中,让其弹出一个容器(container),然后在容器中,加载下一个弹出框中需要弹出的内容,使用的参数通过url传递到“孙子”页面,然后通过函数将参数解析出来。