【发布时间】:2014-04-08 13:38:14
【问题描述】:
我的应用程序是管理软件,为了方便用户,我想允许他们打开多个选项卡以一次更改多个记录的参数。但是在完成他们所做的一切之后,标签仍然保持打开状态,我对此有些抱怨。所以基本上我的问题是:
如果有任何方法可以关闭向我的支持 bean 中的方法发送请求的浏览器选项卡?例如:
JSF 页面:
<h:commandButton value="Public score"
action="#{assignmentBean.publicSelected()}">
</h:commandButton>
豆方法:
public void publicSelected() {
application.setAssignmentStatus(done);
dataAccess.mergeEntity(application);
}
在合并命令并关闭激活方法的浏览器选项卡后有什么方法可以添加?感谢帮助
解决方案的完整代码我不喜欢混合 JS 和 JSF,所以对于你们中的任何人,我也使用 Tiago Vieira Dos Santos 提示发布完整的代码解决方案。
现在我的按钮代码如下:
<h:commandButton value="Public score"
action="#{myBean.doThings}">
<f:ajax execute="@this" onevent="pop"/>
</h:commandButton>
在页面底部加上我添加的代码如下:
<script type="text/javascript">
function pop(data){
if(data.status == "success"){
window.close();
}
}
</script>
现在在方法完成必须做的事情之后,窗口关闭。
【问题讨论】: