【问题标题】:Creating dynamic data entry forms创建动态数据输入表单
【发布时间】:2010-10-28 10:34:38
【问题描述】:

我有一个小项目,我想在其中生成带有一点逻辑的动态数据输入表单。

一个简单的用例可能是 一个足球结果表单,所以你有一个射手按钮,当点击时,用户会被提示选择一名球员。然后表单将发送带有事件数据的消息(可能发送到 Web 服务,也可能发送到 JMS 队列)。例如巴塞罗那、Goal、Henry。

然后我想为网球创建一个类似的表格......

我的想法是创建一个 Web 服务,您可以在其中定义业务逻辑。 (事件、组件、您采取的行动等。)最初我以为我会从 web 服务以 xml 发送运动定义。然后写一个app解析xml,动态创建数据录入画面。

我最初想编写一个 web 服务并返回一个 xml 数据。 (看起来很糟糕)渲染技术可以是 flex/flash 并成为瘦客户端。

然后我认为使用 swing 应用程序框架创建表单就像创建 java 应用程序一样容易,这就是要走的路。

然后我想,与其写一个 xml 模式来描述 java 表单,我可以序列化一个 java 类并通过网络发送它。

一旦走上这条路,我现在想知道是否应该只是一个 java 框架,并且动态表单成为通过反射调用的类。

我希望得到有关上述方法的反馈,以及 stackoverflow 上的人们如何解决这个问题。

谢谢

大卫。

【问题讨论】:

    标签: java architecture forms dynamic


    【解决方案1】:

    我会避免序列化,因为它有点脆弱,难以安全地进行并且难以诊断。

    你说这是一个小项目,那么元数据真的必须从客户端传递到服务器吗?将元数据(真正的代码)简单地编写为 Java 代码不是更好吗?

    (FWIW,我的第一个商业 Java 项目是从数据库规范(定期添加)动态创建表单。在此之前,我使用 C++ 运行训练系统的解释器。在这两种情况下,我现在都会(也是最后一次)十年),将它们写成 Java。不要被人们对“硬编码”的不满而犹豫。)

    【讨论】:

      【解决方案2】:

      我也会考虑XForms。它允许您将数据模型和 UI 都定义为 XML,而在客户端呈现它所需要的只是一个 Web 浏览器。我假设事件将被提交到远程服务器,这使得网络浏览器成为自然的选择。

      这将使您能够根据用户想要报告的体育赛事类型在服务器上生成 UI,因此您可以轻松添加新表单、修复错误等,而无需更新客户端软件。

      顺便说一句,我不明白您对使用 XML 的担忧。在我看来,这对于您的用例来说是一个可行的选择。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-21
        • 2018-04-12
        • 2019-09-29
        • 1970-01-01
        • 2021-03-12
        • 2018-09-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多