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.
在一般情况下,你应该使用WebScriptRequestURLImpl 。 没有任何其他细节,这是很难去任何更深。
这就是说,它是一般一个坏主意要经过另一个HTTP调用自己解决您的问题,它基本上是模块化不佳或缺乏代码重用的指示。
我宁愿移动一段代码,在两个JS和Java网页脚本常见的流向是一个动作 ,这你可以从两个地方调用,而不必重新打包输入参数,或者更糟通过HTTP发送它们。
当然skuro是正确的说这是一个坏主意通过HTTP层去两次。
但实际上,执行既 ,脚本控制器和Java方法是通过露天支持开箱的-没有难看黑客,和不经过整个HTTP层两次。
你可以这样做:
把你的脚本代码在相应的.js文件。
确保您的Java类的子类DeclarativeWebScript
,覆盖executeImpl
并把您的定制逻辑存在。
当然,你仍然可以认为,有两个控制器是不好的风格。 :)