0

TakeIn と SendOut の 2 つのスニペットがあります。
TakeIn は、(送信ボタンを介して送信され、RequestVar から読み取られた 1 つのテキスト フィールドの検索からデータを取得します。この入力に基づいて、データ構造を作成および入力しています。このデータ構造を、スニペット SendOut を介して Web サイトに表示したいと考えています。

ただし、スニペット間でデータを送信する方法がわかりません。スニペット変数に直接アクセスしようとしましたが、うまくいきませんでした。たとえば、TakeIn私は呼び出し SendOut.nodeList = this.nodeList;ていますが、これによりコンパイル時エラーが発生します。

したがって、問題は、スニペットのデータを別のスニペットからどのように設定するかです。または、ここで達成しようとしていることを行う別の方法があるかもしれません。

4

1 に答える 1

1

SendOut最も簡単な方法は、を含むのコンパニオン オブジェクトを作成することSessionVarです。次に、その変数をフォームから直接設定するTakeInと、セッションの間、SendOutスニペットが引き続き機能します。

または、2 つのスニペットを単一のStateful Snippetに結合して、dispatch メソッドを介して呼び出し可能な各機能を使用することもできます。例えば:

 class CombinedSnippet extends StatefulSnippet {
   var nodeList = //something

   def dispatch = {
     case "takeIn" => takeInFunctionality()
     case "sendOut" => sendOutFunctionality()
   }
 }

次に、HTML でCombinedSnippet.takeInまたはとして参照しますCombinedSnippet.sendOut。ただし、寿命がどれくらいかはわかりませんStatefulSnippet

于 2013-04-09T22:14:37.047 に答える