0

ADF ツリーを作成しましたが、各子ノードにリンクを追加できません。

4

3 に答える 3

1

WebCenter Portal アプリケーションを使用しているかどうかについては言及していません。ただし、Portal Application を使用している場合は、NavigationContext を使用してナビゲーションを行うことができます。ドキュメントで詳細と例を見つけることができます。また、バッキング Bean から NavigationContext を使用することもできます。commandLink の actionListener を定義すると、そのメソッドからバックエンドや jspx ページからさまざまなページに移動できます。

ポータル アプリケーションを使用していない場合、Fusion Web アプリケーションでは、adfc-config.xml の control-flow-case によってナビゲーションを定義する必要があります。ナビゲーションに FacesConfig を使用しないでください。このドキュメントを読んで、ナビゲーション システムの仕組みを理解してください。

あなたはツリーモデルにいるので、パラメーターが必要な場合は、次のようにセッションに値を設定できます。

<af:tree value="#{ConnectorTest.model}" var="node" > 
     <af:commandLink text="#{node.text}" action="#{node.action}">
          <af:setPropertyListener from="#{node.value}" to="#{sessionScope.value}" type="action"/>
     </af:commandLink>
</af:tree>

ここで、アクションは adfc-config で定義されます。パラメータを渡す必要がない場合は、af:setPropertyListener を無視しますが、設定ファイルでアクションを定義する必要があります。

これが役立つことを願っています。


編集:

Page1.jspx と Page2.jspx の 2 つのページがあるとします。ここで、次のように adfc-config.xml でアクション (具体的には from-action) を定義する必要があります。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
  <view id="p1">
    <page>/path-to-the/Page1.jspx</page>
  </view>
  <view id="p2">
    <page>/path-to-the/Page2.jspx</page>
  </view>

  <control-flow-rule>
    <from-activity-id>p1</from-activity-id>
    <control-flow-case>
      <from-outcome>goToP2</from-outcome>
      <to-activity-id>p2</to-activity-id>
    </control-flow-case>
  </control-flow-rule>
</adfc-config>

commandLink: <af:commandLink id="link" action="goToP2" />がある場合、Page2.jspx に移動します。action 属性は el 式も受け入れます。

于 2012-04-26T17:50:45.033 に答える
0

<af:switcher>子ノードごとに異なるアクションを表示したい場合は、タグを使用できます。

于 2012-04-26T14:36:00.863 に答える
0

子ノードにハイパーリンクを追加するつもりですか?

<af:tree var="node" value="#{myBean.myTree.root}" id="t1" focusListener="#{myBean.eventMethod}">
<af:commandLink text="#{node.firstname}" />
</af:tree>

ノードをクリックすると、フォーカス イベントが発生し、FocusEvent obj を引数として受け取るメソッド eventMethod が呼び出されます。このメソッドでは、ナビゲーション ルールなどを設定します。

それを試してみてください

于 2012-04-26T07:33:16.547 に答える