【问题标题】:seam redirect page缝重定向页面
【发布时间】:2012-06-01 17:13:08
【问题描述】:

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

我该怎么做?

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

【问题讨论】:

    标签: redirect action seam server-side


    【解决方案1】:

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

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

    您可以从服务器站点生成 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 参数应该是布尔值,并由您调用的操作设置。

    【讨论】:

    • 感谢您的回答,对不起我的英语。我明白没有以更好的方式解释我的问题。我的服务器端操作为数据库设置了一些东西。返回主页时,应该会出现一些东西。首先从 DB 中读取属性,如果设置,则必须调用新页面并在 iframe 中呈现。这个“新页面”可能是一个接缝页面,因此必须应用所有 seam-jstl-authomation 并且必须正常(新页面是一个 xhtml 页面)。希望这可以更清楚。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-08-22
      • 1970-01-01
      • 2012-03-09
      • 2018-09-11
      • 2023-03-20
      • 1970-01-01
      • 2017-09-09
      • 2012-10-29
      • 2010-11-09
      相关资源
      最近更新 更多