[英]Creating dynamic data entry forms
我有一個小項目,我想在其中生成動態數據輸入表單,並在其中添加一些邏輯。
一個簡單的用例可能是Football產生的表單,因此您有一個用於守門員的按鈕,當單擊該按鈕時,系統將提示用戶選擇一名球員。 然后,該表單將發送一條帶有事件數據的消息(可能會發送到Web服務,但可能是JMS隊列)。 例如巴塞羅那,進球,亨利。
然后我想為網球創建一個類似的表格...
我的想法是,我將創建一個Web服務,在其中定義業務邏輯。 (事件,組件,采取的措施等)。最初,我認為我將從xml中的Web服務發送運動定義。 然后編寫一個應用程序以解析xml並動態創建數據輸入屏幕。
我最初是在考慮編寫Web服務並返回xml數據。 (這看起來可怕的),那么渲染技術可以彎曲/閃光,是一個瘦客戶機。
然后,我認為使用swing應用程序框架像創建Java應用程序一樣容易,這就是方法。
然后我想,好吧,我可以序列化一個Java類並通過網絡發送它,而不是編寫一個XML模式來描述Java形式。
一旦走上了那條路,我現在想知道是否應該只是一個Java框架,而動態表單成為通過反射調用的類。
我希望獲得有關上述方法的反饋,以及有關stackoverflow的人們如何解決此問題的反饋。
謝謝
大衛。
我會避免序列化,因為它有點脆弱,難以安全地進行且難以診斷。
您說這是一個小項目,那么元數據真的必須從客戶端傳遞到服務器嗎? 簡單地將元數據(真正的代碼)編寫為Java代碼,您會不會更好呢?
(FWIW,我的第一個商業Java項目是根據數據庫規范動態創建表單(定期添加)。在此之前,我與C ++合作,為培訓系統運行了解釋器。在這兩種情況下,我都將(以及過去十年中),已將它們編寫為Java。不要因對“硬編碼”而不滿地抱怨的人推遲。)
我也會考慮XForms 。 它允許您將數據模型和UI都定義為XML,並且只需在Web瀏覽器上在客戶端呈現它即可。 我假設事件將被提交到遠程服務器,這使Web瀏覽器成為自然選擇。
這將使您能夠基於用戶要報告的體育賽事類型在服務器上生成UI,因此您可以輕松添加新表單,修復錯誤等,而無需更新客戶端軟件。
順便說一句,我不理解您對使用XML的擔憂。 我認為這是您的用例的可行選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.