问题标签 [moqui]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
174 浏览

moqui - 如何在文件上传操作中返回 JSON

我正在上传一个文件,一切都很好。我想返回一个定义了主键的 JSON 对象,所以我这样做:

ec.web.sendJsonResponse("{offerId: '${offer.offerId}'}")

它以我的 javascript 接收代码所期望的方式打包东西(因为它是一个文件上传操作),但它像这样包装:

并且“pre”标签使我的“getElementsByTagName”无法找到“textarea”元素。

我知道 WebResource.sendJsonResponse 没有添加它。它将 contentType 设置为 json 并且接收代码正在抱怨,因为它需要一个 DOM 对象(错误>资源解释为 Document 但使用 MIME 类型 application/json 传输:)

我该如何解决这个问题?我想这确实是一个 J2EE 问题,但它可能会发生在 moqui 的其他人身上。

0 投票
0 回答
75 浏览

moqui - 在转换到默认响应时传递参数

在默认响应中定义参数时很奇怪

default-response 中定义的参数不会传递给目标 url,如下所示:

在参数映射中定义它们时它也不起作用:

但如果在过渡中添加空操作,它确实有效:

0 投票
0 回答
31 浏览

moqui - 在 sendEmailTemplate 中出现错误

我通过将其置于转换中来对 sendEmailTemplate 进行测试:

...

我最终得到了这个错误:java.lang.NullPointerException: Cannot execute null+null at org.codehaus.groovy.runtime.NullObject.plus(NullObject.java:121) ... at org.moqui.impl.context。 WebFacadeImpl.getWebappRootUrl(WebFacadeImpl.groovy:272)

因为 webappName 和 servletContextPath 都是空的。

这来自 sendEmailTemplate (ln 77) 中的文本渲染,因此未设置 webappName,因为它在上面的调用中。

但所有这些都没有抓住重点——我认为。我认为错误在 ScreenUrlInfo (~ln 450) 中:

sri.baseLinkUrl 没有设置,我认为这就是问题所在。sri.baseLinkUrl 应该在哪里设置?

0 投票
1 回答
128 浏览

moqui - 如何在 xml-action 脚本中设置布尔值

我正在尝试设置一个标志,所以我做了这样的事情:

但以下行在日志中打印“true”:

设置标志的最佳方法是什么?

0 投票
1 回答
73 浏览

moqui - 如何在转换中处理 xml-script 中的错误

如果我尝试在缺少所需输入参数的 xml-script 中调用服务,则会引发 ServiceException,并且调用会以 200 状态返回到浏览器。我不明白我应该如何捕捉错误或以其他方式处理它。在调用服务之前我需要测试完整性吗?为什么不生成并返回 500 级状态?

0 投票
0 回答
29 浏览

moqui - 如何扩展 ScreenRender

ScreenRender 在 ScreenFacadeImpl.makeRender 中使用 ScreenRenderImpl 初始化,而 ScreenFacade 在 ExecutionContextFactoryImpl 中初始化。在某些情况下,我想在 ScreenRender 中添加更多可以在宏模板中调用的函数。有没有办法在 ScreenFacade.makeRender 时简单地注入 ScreenRenderImpl 的子类,而不是覆盖 ExecutionContextFactoryImpl 和 ScreenRenderImpl 以及 MoquiContextListener?

在宏模板中获得 sri 支持的真实案例是:

我正在尝试通过列表选项或实体选项或通过 sri.getFieldOptions() 返回的手动选项填充选择选项。但它有点必然会形成字段。我想在非形式上下文中使用。所以我有点想扩展 ScreenRender 以拥有像 sri.getOptions() 这样的功能。

0 投票
2 回答
172 浏览

moqui - MOqui 中屏幕之间的转换

我一直在寻找屏幕之间的转换,但无法找到浏览屏幕的最佳做法。在 apps.xml 中制作子屏幕和条目是一种尝试,但它在页面顶部提供了一个链接,这不是我想要的. 我想通过锚标记在 html-5 或更早版本中进行转换。做同样的事情的最佳做法是什么?

0 投票
1 回答
119 浏览

moqui - 如何将组件的类目录放在类路径中

我正在我的 src/main/groovy 目录下构建 groovy 类,我构建它们并且 .class 文件位于 build/classes 下,但是当我运行代码时它看不到这些类。

我该怎么做才能看到这些文件?

0 投票
1 回答
207 浏览

moqui - 包含子内容时,父屏幕看起来坏了

在编写“使用 Moqui 制作应用程序”一书中的教程时,在“尝试子内容”下的第 1 部分中,我的 tutorial.xml 屏幕如下所示:

位于 url localhost:8080/apps/tutorial/hello.html 的子屏幕按预期工作。当我使用 url localhost:8080/apps/tutorial 转到父屏幕时,我的父屏幕在 hello world 消息之后有一条错误消息,如下所示:

你好世界!尝试在屏幕 [component://tutorial/screen/tutorial.xml] 中渲染子屏幕,但没有 subscreens.@default-item,并且屏幕路径 [[apps, tutorial]] 中没有更多有效的子屏幕名称

这是预期的反应还是我犯了一些错误?我认为,父屏幕不应显示此错误消息。

0 投票
1 回答
386 浏览

moqui - 在 Intellij IDE 中添加 Moqui 框架的正确方法是什么

起初(某天),我从命令行练习了 Moqui。现在我想从 Intellij IDEA 开始。所以我在我的项目目录中添加了 Moqui 框架,并在 runtime/lib 目录中添加了所有的 jar 文件。但是当我编译时,它会给我以下错误。

/org/moqui/impl/pollEmailServer.groovy Error:(27,1) Groovyc: Modifier 'static' not allowed here. 还会产生以下错误。

net.sf.ehcache.CacheException: Unable to load class net.sf.ehcache.store.DefaultElementValueComparator. Initial cause was net.sf.ehcache.store.DefaultElementValueComparator.<init>(net.sf.ehcache.config.CacheConfiguration) at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:100) at net.sf.ehcache.config.ElementValueComparatorConfiguration.createElementComparatorInstance(ElementValueComparatorConfiguration.java:57) at net.sf.ehcache.Cache.<init>(Cache.java:797) at net.sf.ehcache.Cache.clone(Cache.java:2817) at net.sf.ehcache.Cache.clone(Cache.java:170) at net.sf.ehcache.CacheManager.cloneDefaultCache(CacheManager.java:1952) at net.sf.ehcache.CacheManager.addCacheIfAbsent(CacheManager.java:1934) at net.sf.ehcache.CacheManager$addCacheIfAbsent$1.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.CacheFacadeImpl.initCache(CacheFacadeImpl.groovy:109) at org.moqui.impl.context.CacheFacadeImpl.getCacheImpl(CacheFacadeImpl.groovy:71) at org.moqui.impl.context.CacheFacadeImpl.getCache(CacheFacadeImpl.groovy:63) at org.moqui.context.CacheFacade$getCache.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.renderer.FtlTemplateRenderer.init(FtlTemplateRenderer.groovy:42) at org.moqui.context.TemplateRenderer$init.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.ResourceFacadeImpl.<init>(ResourceFacadeImpl.groovy:66) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) at org.moqui.impl.context.ExecutionContextFactoryImpl.<init>(ExecutionContextFactoryImpl.groovy:182) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186) at org.moqui.impl.webapp.MoquiContextListener.contextInitialized(MoquiContextListener.groovy:44) at net.winstone.core.WebAppConfiguration.<init>(WebAppConfiguration.java:782) at net.winstone.core.HostConfiguration.initWebApp(HostConfiguration.java:282) at net.winstone.core.HostConfiguration.addWebAppConfiguration(HostConfiguration.java:190) at net.winstone.core.HostConfiguration.<init>(HostConfiguration.java:111) at net.winstone.core.HostGroup.addHostConfiguration(HostGroup.java:115) at net.winstone.core.HostGroup.<init>(HostGroup.java:85) at net.winstone.Server.initialize(Server.java:122) at net.winstone.Server.start(Server.java:106) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at MoquiStart.main(MoquiStart.java:152) Caused by: java.lang.NoSuchMethodException: net.sf.ehcache.store.DefaultElementValueComparator.<init>(net.sf.ehcache.config.CacheConfiguration) at java.lang.Class.getConstructor0(Class.java:2849) at java.lang.Class.getConstructor(Class.java:1718) at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:91) ... 56 more Error initializing webapp context: net.sf.ehcache.CacheException: Unable to load class net.sf.ehcache.store.DefaultElementValueComparator. Initial cause was net.sf.ehcache.store.DefaultElementValueComparator.<init>(net.sf.ehcache.config.CacheConfiguration) ERROR 25/08/14 18:51:20.625 [main]: Error during context startup for webapp webapp net.sf.ehcache.CacheException: Unable to load class net.sf.ehcache.store.DefaultElementValueComparator. Initial cause was net.sf.ehcache.store.DefaultElementValueComparator.<init>(net.sf.ehcache.config.CacheConfiguration) at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:100) at net.sf.ehcache.config.ElementValueComparatorConfiguration.createElementComparatorInstance(ElementValueComparatorConfiguration.java:57) at net.sf.ehcache.Cache.<init>(Cache.java:797) at net.sf.ehcache.Cache.clone(Cache.java:2817) at net.sf.ehcache.Cache.clone(Cache.java:170) at net.sf.ehcache.CacheManager.cloneDefaultCache(CacheManager.java:1952) at net.sf.ehcache.CacheManager.addCacheIfAbsent(CacheManager.java:1934) at net.sf.ehcache.CacheManager$addCacheIfAbsent$1.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.CacheFacadeImpl.initCache(CacheFacadeImpl.groovy:109) at org.moqui.impl.context.CacheFacadeImpl.getCacheImpl(CacheFacadeImpl.groovy:71) at org.moqui.impl.context.CacheFacadeImpl.getCache(CacheFacadeImpl.groovy:63) at org.moqui.context.CacheFacade$getCache.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.renderer.FtlTemplateRenderer.init(FtlTemplateRenderer.groovy:42) at org.moqui.context.TemplateRenderer$init.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.moqui.impl.context.ResourceFacadeImpl.<init>(ResourceFacadeImpl.groovy:66) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190) at org.moqui.impl.context.ExecutionContextFactoryImpl.<init>(ExecutionContextFactoryImpl.groovy:182) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77) at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:102) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:186) at org.moqui.impl.webapp.MoquiContextListener.contextInitialized(MoquiContextListener.groovy:44) at net.winstone.core.WebAppConfiguration.<init>(WebAppConfiguration.java:782) at net.winstone.core.HostConfiguration.initWebApp(HostConfiguration.java:282) at net.winstone.core.HostConfiguration.addWebAppConfiguration(HostConfiguration.java:190) at net.winstone.core.HostConfiguration.<init>(HostConfiguration.java:111) at net.winstone.core.HostGroup.addHostConfiguration(HostGroup.java:115) at net.winstone.core.HostGroup.<init>(HostGroup.java:85) at net.winstone.Server.initialize(Server.java:122) at net.winstone.Server.start(Server.java:106) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at MoquiStart.main(MoquiStart.java:152)

我想我做错了什么。您能否建议我在 Intellij IDE 中添加 Moqui 框架的正确方法是什么?