【问题标题】:JSF external linkingJSF 外部链接
【发布时间】:2010-01-26 09:27:46
【问题描述】:

我想知道是否可以将外部链接(例如 domain.tld/jsfview)链接到特定的 jsf 视图/页面。

我不想要我的 jsf 应用程序的起始页,它会被触发

 <navigation-rule>
  <navigation-case>
   <from-outcome>start</from-outcome>
   <to-view-id>/jsf/index.xhtml</to-view-id>
  </navigation-case>
 </navigation-rule>

试过这个配置

 <navigation-rule>
  <navigation-case>
   <from-outcome>reminder</from-outcome>
   <to-view-id>/jsf/remind/index.xhtml</to-view-id>
  </navigation-case>
 </navigation-rule>

但我只能重定向到我的起始页。

我忘了要提一件重要的事情:JSF 应用程序在带有 jboss portlet 桥的门户环境中运行

【问题讨论】:

  • 检查日志中是否有任何消息
  • 已经完成 - 没有消息
  • 如果您从页面的角度考虑并且使用的是门户网站,那么您做错了。

标签: java jsf navigation portlet


【解决方案1】:

我不确定你的意思。您的意思是,您想从外部站点链接到您的 JSF 应用程序中的页面?

在您的示例中,您可以链接到 /jsf/remind/index.faces(或您将 JSF servlet 映射为的任何扩展名),它应该会加载您的页面。

不知道是不是我误会了你!

【讨论】:

  • 你说对了 Phil - 链接到我的 JSF 应用程序中的特定页面。那是我的问题:它不加载页面。我只得到我的起始页
【解决方案2】:

我找到了解决方案,因为我的 JSF 应用程序位于与 portlet 桥一起使用的门户环境中,似乎无法直接链接到 JSF 页面。

我通过解决方法解决了我的问题 - 确定这可能不适合其他类似问题:

我正在使用 porlet 模式从外部源直接链接页面。

 <init-param>
   <name>javax.portlet.faces.defaultViewId.edit</name>
   <value>/jsf/remind/index.xhtml</value>
 </init-param>

请不要误会我的意思:如果我在我的 JSF 应用程序 &lt;h:outputLink /&gt; 中,一切正常。

【讨论】:

    【解决方案3】:

    初始化参数javax.portlet.faces.defaultViewId.[mode]可用于设置每种模式的初始视图。

    您可能可以使用FACES_VIEW_ID_PARAMETER"_jsfBridgeViewId" - 假设为JSR 329;我没有看过 JSR 301)创建一个指向不同视图的可收藏 URL。

    【讨论】:

      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-05
      相关资源
      最近更新 更多