在<;包含的JSF页面上未调用Bean方法;iframe>;
我有一个在<;包含的JSF页面上未调用Bean方法;iframe>;,jsf,iframe,el,conditional-rendering,Jsf,Iframe,El,Conditional Rendering,我有一个,oncomplete提供了一个包含iframe的对话框。iframe包含另一个包含菜单的页面。我在单击commandbutton时编写了一个actionListener,方法将执行并使菜单的呈现为false。令人惊讶的是,呈现变量的get方法没有调用。这是我的示例代码 <p:commandButton oncomplete="PF('Loc').show();" action="bean.rendermethod"
,oncomplete提供了一个包含iframe的对话框。iframe包含另一个包含菜单的页面。我在单击commandbutton时编写了一个actionListener,方法将执行并使菜单的呈现为false。令人惊讶的是,呈现变量的get方法没有调用。这是我的示例代码
<p:commandButton oncomplete="PF('Loc').show();"
action="bean.rendermethod"
update="createDialog">
<p:dialog closeOnEscape="true"
widgetVar="Loc"
modal="true"
dynamic="true"
id="createDialog"
minimizable="false"
maximizable="true"
height="100%"
width="100%"
style="background-color:rgb(232, 232, 232) !important;">
<iframe frameborder="0" height="768" width="100%"
src="loc.faces"
name="someName" id="someId" scrolling="auto" />
</p:dialog>
</p:commandButton>
在与其父页面相同的HTTP请求中不包含指定页面。它将包含在一个全新的独立HTTP请求中。也就是说,它是由webbrowser执行的,而不是由webserver执行的。实际上,框架页面将获得它自己的全新请求范围bean,它与父页面的请求范围bean不同
此外,新的HTTP请求也不包含任何关于JSF视图的信息,因此它还将获得自己的视图范围的bean实例(如果有的话)。只有当它们在相同的HTTP会话中运行时,它们才能共享相同的会话范围的bean实例。但是将bean会话限定在范围内会产生严重的后果
尽管如此,这种方法没有任何意义。这是
的错误用途。改用
。如果您唯一关心的是滚动条之类的,只需在固定大小的块元素(如
)上插入CSS溢出:scroll
与具体问题无关,由于缺少EL表达式大括号,您的
不正确,因此引入了一个主要的危险因素。而且,引用“true”
的字符串值的呈现的attribtue是令人讨厌的,因为它对所持有的值使用了错误的数据类型。如果需要布尔类型,只需使用boolean
而不是String
。我可以想象,这一切都是在黑暗中胡乱摆弄的结果,然后不小心地将代码片段复制粘贴到问题中,而没有仔细测试它。以后请不要这样做。另请参见。一个
在与其父页面相同的HTTP请求中不包含指定页面。它将包含在一个全新的独立HTTP请求中。也就是说,它是由webbrowser执行的,而不是由webserver执行的。实际上,框架页面将获得它自己的全新请求范围bean,它与父页面的请求范围bean不同
此外,新的HTTP请求也不包含任何关于JSF视图的信息,因此它还将获得自己的视图范围的bean实例(如果有的话)。只有当它们在相同的HTTP会话中运行时,它们才能共享相同的会话范围的bean实例。但是将bean会话限定在范围内会产生严重的后果
尽管如此,这种方法没有任何意义。这是
的错误用途。改用
。如果您唯一关心的是滚动条之类的,只需在固定大小的块元素(如
)上插入CSS溢出:scroll
与具体问题无关,由于缺少EL表达式大括号,您的
不正确,因此引入了一个主要的危险因素。而且,引用“true”
的字符串值的呈现的attribtue是令人讨厌的,因为它对所持有的值使用了错误的数据类型。如果需要布尔类型,只需使用boolean
而不是String
。我可以想象,这一切都是在黑暗中胡乱摆弄的结果,然后不小心地将代码片段复制粘贴到问题中,而没有仔细测试它。以后请不要这样做。除执行@BalusC的方法外,另请参见。
splcCreate是一个字符串字段
el表达式
rendered="#{!(createAssociationsBean.splcCreate)}"
除了使用@BalusC的方法,splcCreate作为布尔表达式更好
splcCreate是一个字符串字段
el表达式
rendered="#{!(createAssociationsBean.splcCreate)}"
最好将splcCreate作为布尔表达式
rendered="#{!(createAssociationsBean.splcCreate)}"