我想弹出一个窗口,当有人点击数据表上的按钮。问题与JSF 1.1和PopUp
<h:commandButton
action="#{cacheController.popupDetails}"
immediate="false"
onclick="popup()"
value="View Details"
styleClass="submit">
</h:commandButton>
关联的弹出功能
function popup() {
window.open('RDDetails.jsf','popupWindow', 'dependent=yes, menubar=no, toolbar=no, height=500, width=400');
}
现在,在新的“RDDetails.jsf”的文件,我试图访问同一managedBean cacheController。但问题是,在弹出的窗口和JSF的生命周期不同步,因此弹出窗口首先显示空白,当我刷新时,它会提取正确的数据。
是否有无论如何我可以点击一个按钮,它将在托管然后打开一个弹出窗口,使处理后的数据fr失效om托管bean。
我正在使用JSF 1.1。
我试图创建从后台bean像这样的URL - 的onclick = “#{} cacheController.url” 和该网址将具有JSp样式参数?param = value&param2 = value2等等。您认为这会起作用吗? – Shamik 2010-01-29 23:04:11
不,您需要通过'window.open()'以相同的方式传递网址。 – BalusC 2010-01-29 23:12:47
是我做这种方式 - 在这里是在支持Bean我的getURL方法 - \t公共字符串的getURL(){ \t \t selectedRD =(RuleDisplayTO)dataTable.getRowData(); \t \t回报 “window.open('/ e2fo /工具/ cachetool/test.jsp的?NAME =” \t \t \t \t + selectedRD。getName() \t \t \t \t +“','popupWindow','dependent = yes,menubar = no,toolbar = no,height = 500,width = 400'); return false;”; \t} – Shamik 2010-01-29 23:36:54