0

我有 2 个片段:TakeIn 和 SendOut。
TakeIn 从搜索中获取数据(通过提交按钮提交并从 RequestVar 读取的 1 个文本字段。基于此输入,我正在创建并填充数据结构。我想通过片段 SendOut 在网站上显示此数据结构。

但是,我不确定如何在片段之间发送数据。我尝试直接访问代码片段变量,但它不起作用。例如,在TakeIn我正在调用 中SendOut.nodeList = this.nodeList;,但这会导致编译时错误。

所以问题是如何从另一个片段中设置一个片段的数据。或者也许还有另一种方法可以做我想要在这里实现的目标。

4

1 回答 1

1

最简单的方法是创建一个SendOut包含SessionVar. 然后,您可以直接从表单中设置该变量,TakeIn并且该SendOut代码段将在会话期间继续工作。

或者,您可以尝试将两个片段组合成一个Stateful Snippet,每个片段的功能都可以通过 dispatch 方法调用。例如:

 class CombinedSnippet extends StatefulSnippet {
   var nodeList = //something

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

然后,在您的 HTML 中将其引用为CombinedSnippet.takeInCombinedSnippet.sendOutStatefulSnippet虽然不确定它的寿命是多少。

于 2013-04-09T22:14:37.047 回答