我有一个名为showcontacts的控制器动作,当单击一个链接时会调用该动作。动作showcontacts在接受params作为参数后调用一个从Web服务获取某些联系人的java方法。这些都工作正常。现在我必须从这个动作打开一个缩小尺寸的窗口(如弹出窗口)作为一个新模板。我怎么能这样做?Plz help.what我试过的如下:
控制器:客户
动作:
def showcontacts={
log.info(params.tdc+params.companyid+params.companytype)
def contact=server.util.SOAPClientSAAJ.showContacts(params);
render view:'showcontacts', model:[contact:contact]
}
我在showcontacts.gsp中试过这个:
<html>
<head>
<meta charset="utf-8" />
<title>jQuery UI Dialog - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jqueryui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#dialog" ).dialog();
});
</head>
<body>
<g:if test="${contact}">
<div id="dialog" title="Contacts">
${contact.firstName}
</div>
</g:if>
</body>
</html>
尽管新窗口出现隐藏另一个窗口(不像弹出窗口)。
或者简单地说我的要求是如何调用window.pen view in javascript from my view showcontacts ???
答案 0 :(得分:2)
你可以像这样打开一个缩小尺寸的新窗口。
<a href="javascript:void(0)" onclick="javascript:asd()">asd</a>
<script>
function asd(){
window.open("${g.createLink(controller: 'testController', action: 'testAction', params: [name:'hello Vivek'])}",'', 'width=200,height=100');
}
</script>
如果您想在新标签页中打开它,可以试试这个。
<g:link controller="testController" action="testAction" target="_blank">Test</g:link>
享受..