从Java调用JS webscript在露天webscript(Call js webscript

2019-10-31 15:16发布

I have a problem. I need execute js webscript from Java webscript. I know, how do it:

req.getRuntime().getContainer().getRegistry().getWebScript("com/home/testJs/testJs.get").execute(req, res)

, but how to construct the new WebScriptRequest object? I need do it for rewrite request path. It's a really problem for me. Thank you.

Answer 1:

在一般情况下,你应该使用WebScriptRequestURLImpl 。 没有任何其他细节,这是很难去任何更深。

这就是说,它是一般一个坏主意要经过另一个HTTP调用自己解决您的问题,它基本上是模块化不佳或缺乏代码重用的指示。

我宁愿移动一段代码,在两个JS和Java网页脚本常见的流向是一个动作 ,这你可以从两个地方调用,而不必重新打包输入参数,或者更糟通过HTTP发送它们。



Answer 2:

当然skuro是正确的说这是一个坏主意通过HTTP层去两次。

但实际上,执行 ,脚本控制器和Java方法是通过露天支持开箱的-没有难看黑客,和不经过整个HTTP层两次。

你可以这样做:

把你的脚本代码在相应的.js文件。

确保您的Java类的子类DeclarativeWebScript ,覆盖executeImpl并把您的定制逻辑存在。

当然,你仍然可以认为,有两个控制器是不好的风格。 :)



文章来源: Call js webscript from Java webscript in Alfresco