1

我使用 seam 来管理查看器页面。
在我的页面中,我有一个 div(iframe),其中在特定条件下显示一个 html 页面。
特别是我需要从服务器端更改此 div 中显示的页面。
我试图更好地解释我:
在 commandButton 单击控件被传递到服务器(使用操作)。此操作方法设置了一些东西并知道应该在之后加载哪个页面(或在某些情况下不加载)。
当控件回到调用者页面时,必须调用action方法设置的新页面(它使用action方法指定的东西)。

我怎样才能做到这一点?

注意:oncomplete 标记在此上下文中不可用,因为我有很多命令按钮,并且每次单击其中一个命令按钮时都会调用它。

4

2 回答 2

0

仅当服务器端存在特定属性时才使用激活的 javascript 解决。

于 2012-06-01T09:13:08.333 回答
0

我不完全确定你想做什么。

这些页面是动态呈现的吗?

您可以从服务器站点生成 HTML,然后使用<h:outputText id="iframediv" value="#{controller.htmlparameter}" escape="false" />

然后可以<a4j:commandButton reRender="iframediv">重新渲染这个动态生成的页面。

如果页面是静态定义的,您可以像这样包含它们。

<rich:panel id="iframediv"> 
     <a4j:outputPanel rendered="{controller.page1}">
           <ui:include src="page1.xhtml" />
     </a4j:outputPanel>
     <a4j:outputPanel rendered="{controller.page2}">
           <ui:include src="page2.xhtml" />
     </a4j:outputPanel>
</rich:panel>

控制器的 page1 和 page2 参数应该是布尔值并由您调用的操作设置。

于 2012-04-21T12:36:47.293 回答