繁体   English   中英

从动作属性中随机调用Bean方法

[英]Bean method getting invoked randomly from action property

我的JSP中有以下内容,这是从JSF页面调用的弹出窗口。

<h:commandButton id="cmd" value="Click" 
    onclick="document.getElementById('frm_name:hiddenInput').value=test();"
    action="#{bean.actionClick}" />

并在javascript的test()方法中

opener.focus();
opener.location.href = opener.location;
self.close();    
return hidValues;

我面临的问题是从JSP弹出窗口中选择值时,并非每次都调用backing bean的操作方法,有时它被调用,有时却不被调用。

我怀疑这是否是由于缓存造成的,所以我在JSP弹出窗口中添加了以下内容

response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);

但是,即使在添加了不缓存JSP页面之后,仍然没有调用bean的仍然动作方法,就像我前面提到的那样,有时它被调用,有时t没有被调用。

我该如何解决这个问题?

我的JSF版本1.1,页面范围是会话。

我认为您的问题是提交之前窗口关闭了,提交完成后可以关闭窗口,您可以将变量放在bean上,并在页面加载时在javascript上读取它

<script>

if( ${bean.canClose} ) {
 self.close()
}
</script>

因此,在您的操作方法被调用后,页面将重新加载并自行关闭

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM