问题标签 [fantom]

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 回答
532 浏览

ide - F4 IDE 在运行 Fantom 应用程序时给出“本地文件的 Uri 方案无效”

我使用 Xored 的 F4 IDE for Fantom 开始了一个非常简单的项目。前几次我运行它没有错误,但我开始添加依赖项(fanbatis),并且在某个时候,每次运行测试或虚拟 Hello World 应用程序时都会出现下面的错误。

目前这更令人讨厌,因为测试和虚拟应用程序仍在运行。我创建了另一个项目,逐类复制所有源代码并在每次更改后进行测试,并且从未发生错误。请问有什么想法吗?

0 投票
1 回答
91 浏览

mysql - 如何使 Fanbatis @Column 注释将 Fantom 类属性正确映射到 DB 列?

我正在使用 Fanbatis 框架来访问 MySQL 数据库。此处的文档:http ://www.talesframework.org/fanbatis/ 说我可以使用 @Column 注释将类属性映射到具有不同名称的列:

我有这个课...

使用此 SQL 创建的 APPS 表:

我正在尝试使用此 DAO 从数据库中检索记录

我的代码编译得很好,但是当我运行它时,传入现有记录的 ID,它会从数据库中检索记录并设置与列名匹配的属性值,但 app.descr 仍然为空。但是,如果我只是从“descr”属性中删除 @Column 注释并将其重命名以匹配列(“description”),那么代码运行良好并返回预期值。

我做错了什么还是这是 Fanbatis 中的错误?

0 投票
2 回答
75 浏览

fantom - 将 StrBuf 附加到 StrBuf 的最佳方法是什么?

我有一系列 StrBuf 对象,想知道将它们连接在一起的最有效方法。

add()方法,但文档说,“将 x.toStr 添加到此缓冲区的末尾”。如果我一遍又一遍地这样做,我想那StrBuf.toStr()不是那么高效。

(我知道真正的答案是只使用一个 StrBuf,但在这里请幽默!)

干杯。

更新:

查看 Java 源代码,引擎盖下StrBuf使用了一个 Java StringBuilder,它使用一个 char 数组作为它的内部缓冲区。所以@Adrian,是的,拥有一个大的初始缓冲区很重要。

StrBuf.toStr()目前而言,使用Arrays.copyOfRange()- 创建一个新的 Java 字符串是合理的,但鉴于有一个append(StringBuffer sb)方法,这是不必要的。

0 投票
1 回答
90 浏览

fantom - 在运行时动态评估代码

是否可以在 Fantom 运行时获取源代码的字符串/AST 并对其进行评估(如 eval())?我在文档中发现了一些建议功能,但没有明显的证据。

0 投票
1 回答
37 浏览

fantom - 防止 fantomide 导出库

我需要将fantom用于大学项目。我下载了 fantom 环境,和fantomIDE一起去。这一切都很好。

我的问题:

我创建了一个名为 test 的项目来测试一些东西并检查一切是否正常运行。当我检查 fantom 安装文件夹时,我喜欢一个以我的测试项目命名的文件,并且运行它会产生测试代码。

我不希望我创建的每个类都导出到 fantom 的安装文件夹中(主要是因为我不想将名称空间挤满许多 pod)。

这是设计使然吗?我可以防止这种情况发生吗?

0 投票
1 回答
44 浏览

fantom - 如何路由到目录?

我正在玩 afBedSheet 并希望处理对目录的所有请求。例如,对 /abcd 的请求调用 abcdMethod#doSomething

我将路线设置为

然而,当我浏览到 /abcd 我得到 404 错误:(

我该如何进行这项工作?

0 投票
1 回答
28 浏览

fantom - afBedSheet 是否提供分面来将类标记为服务,将方法标记为路由处理程序?

我正在玩 Fantom 的 afBedSheet 框架,在它的文档中,例子是……

当添加的路由越来越多时,尤其是当路由处理程序来自不同的类时,上面的contributeRoutes 方法开始变得难以阅读和维护。

我这样做的方式不同:在每个 Service 类上,我添加了一个静态方法,该方法返回由其方法处理的路由列表,如下例所示:

然后我的 AppModule 看起来像这样

我试图保持 AppModule 干净,并且 Route 定义和处理程序映射更接近实现类。我希望这会使服务/路由更易于维护,但我不确定这是一个好主意还是坏主意。我发现这样做的好处是

  • 如果我向一个类添加路由处理程序方法,我在同一个类上声明路由
  • 由于路由处理程序方法是同一个类的一部分,因此我只需要输入插槽名称(例如#podVersion 而不是 Info#podVersion),这对我来说似乎更容易阅读。

但正如我所说,我只是在玩 afBedSheet,如果有充分的理由在 AppModule 类中声明路由,我想从使用此框架完成实际生产项目的人那里知道,如示例所示.

此外,如果我正在做的事情是好的或好的,我想知道是否有(或者添加是否是一个好主意)方面将我上面的 Info 类更改为更像:

如果不存在这样的方面,我想一定有充分的理由在 AppModule 中保留路由声明,我想知道它们是什么。

0 投票
1 回答
89 浏览

macos - 错误:无法初始化 Sys.homeDir 在 Mac OS X 上运行基于 afBedSheet 的 Fantom 应用程序

按照Alien Factory 的 afBedNap的说明使用 Fantom 的 afBedSheet 框架构建 Web 应用程序,我在第 3 步(运行应用程序)结束时收到此错误:

该路径/Users/coder/apps/fantom-1.0.66存在并且是我安装 Fantom 的位置。我跑了export FAN_HOME="/Users/coder/apps/fantom-1.0.66",但这没有任何区别。

如果我运行$FAN_HOME/bin/fan -version这就是我得到的:

我在Fantom 论坛中找不到解决方案。请问有什么想法吗?

0 投票
1 回答
40 浏览

fantom - 如何更改 afFancordion 结果的目标文件夹?

当我在我的 Fantom 项目中运行 afConcordion 固定装置时,生成的固定装置最终在这个文件夹中:

但我希望将它们写在target我项目文件夹下的一个文件夹中。

查看afConcordion 文档似乎是可能的,至少对于 afBedSheet 应用程序,如果我扩展 ConcordionRunner,例如

但我想使用默认的 ConcordionRunner 而不是实现我自己的,并且仍然决定我想要我的测试结果的位置。请问可以吗?

0 投票
1 回答
30 浏览

fantom - 为什么在这种情况下 afIoc 不注入服务?

我正在尝试使用 IoC 框架创建一个非常简单的应用程序,以便 Fantom afIoc熟悉它。我试过这个...

版本类是

AppModule 是

它编译但打印version is null. 我通过重新定义我的 Main 类解决了这个问题:

但是我想了解 afIoc Registry 的生命周期,以及为什么没有将 Version 服务注入到我的 Main 类的第一个版本中。谁能解释一下,好吗?