1

私は WebSphere Portal 8.0 に取り組んでおり、顔の少ないポートレットを作成しようとしています。1 つのポートレット内で他の JSF サイトへの簡単なリンクを作成する方法を教えてください。つまり、これを使用しようとしていましたが、機能しません。

<h:outputLink value="page2.xhtml">
    <h:outputText value="take me to the page2" />
</h:outputLink>

不思議なリンクにリダイレクトされますが、同じサイトにとどまり、この 1 つのポートレットで顔を変えたいです。

4

1 に答える 1

1

答えが出ました。

GET を使用する場合は、これを使用します。

<h:link value="take me to the page2" outcome="page2" />

または POST を使用して:

<h:form>
    <h:commandLink action="#{menager.navigateToPage2}" value="take me to the page2" />
</h:form>

そしてfaces-config.xmlで

<managed-bean>
    <managed-bean-name>menadzer</managed-bean-name>
    <managed-bean-class>test.Menadzer</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
        <property-name>symbolAktywnejSpolki</property-name>
        <value>#{param.symbol}</value>
    </managed-property>
</managed-bean>

<navigation-rule>
    <display-name>index.xhtml</display-name>
    <from-view-id>index.xhtml</from-view-id>
    <navigation-case>
        <from-action>#{menager.navigateToPage2}</from-action>
        <from-outcome>page2</from-outcome>
        <to-view-id>page2.xhtml</to-view-id>
    </navigation-case>
</navigation-rule>

そしてクラス:

public class Menager {
    ...
    public String navigateToPage2() {
        return "page2";
    }
}

WebSphere Portal を使用する場合は、faces-config.xml に以下を追加します。

<application>
    <view-handler>com.ibm.faces20.portlet.FaceletPortletViewHandler</view-handler>
    <resource-handler>com.ibm.faces20.portlet.httpbridge.PortletResourceHandler</resource-handler>
    <el-resolver>com.ibm.faces20.portlet.PortletELResolver</el-resolver>
</application>
于 2013-07-26T14:39:45.490 に答える