$ m-> comp返回无限递归调用错误

时间:2012-04-02 07:59:22

标签: html perl mason

我无法使用HTML :: Mason的$m->comp从一个视图重定向到另一个视图。

有一个文件说file1.mi已嵌入HTML代码file1.mi我正在使用$m->comp重定向到file2.mi

但是在加载file1.mi的网页中,它会多次打印页脚,而在日志中我会收到错误

  

检测到嵌套页面框架应用程序调度,此用法不是   完全支持并可能导致意外行为

  

错误:APPLICATION CONTEXT ERROR(RENDER):组件深度为32级   stack(无限递归调用?)

。这是我用于从file1.mi

重定向的脚本
return $m->comp('/page-framework/dispatch.mi', applicationPath =>'/gp/tradein/omc', viewID => 'file2.mi', %ARGS);

我在file1.mi中使用此脚本呈现网页之前 - 即在执行任何HTML脚本之前。

我对梅森来说是个新手,如果您对此有疑问,请继续。

2 个答案:

答案 0 :(得分:0)

看起来你的file1.mi被加载和渲染,然后file2.mi被执行并且它处于无限循环中。

请向我们展示更多代码,无法使用这些小细节进行调试。

您在Web服务器中记录了什么?请从日志中粘贴一些示例。

此致

答案 1 :(得分:0)

应该是您的调度程序dispatch.mi调用file1或file2。在请求已经发送之后决定你想去其他地方似乎逻辑错误的地方。