有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaJSF外部链接

我想知道是否有可能将外部链接(比如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应用程序正在一个带有JBossPortlet桥的门户环境中运行


共 (3) 个答案

  1. # 1 楼答案

    我已经找到了解决方案,因为我的JSF应用程序是在一个门户环境中使用portlet桥接器的,似乎没有办法直接链接到JSF页面

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

    我正在使用porlet模式直接链接来自外部源的页面

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

    不要误会我的意思:如果我在我的JSF应用程序中<h:outputLink />,一切都会正常工作

  2. # 2 楼答案

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

    在您的示例中,可以链接到/jsf/remind/index。面(或者JSFServlet映射为的任何扩展),它应该加载页面

    不知道我是否误解了你

  3. # 3 楼答案

    init参数^{}可用于设置每个模式的初始视图

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