現在、Orbeon Forms 用に独自の永続レイヤーを実装しています。データの仮想階層を理解している限り、「myform」という名前のアプリケーション「myapp」でフォームビルダーを使用してフォームを作成すると、フォームビルダーが呼び出されるはずです
/crud/myapp/myform/form/form.xhtml、新しく作成されたフォームを HTTP-PUT データとして渡します。したがって、次の注釈を付けたスプリング メソッドを作成しました。
@RequestMapping(method = RequestMethod.PUT, value = "/crud/{applicationName}/{formName}/form/form.xhtml")
public void saveForm(@PathVariable String formName, @RequestBody String putData)
このメソッドがフォームで呼び出されることを期待していました。しかし、このメソッドは呼び出されません。代わりにメソッド
@RequestMapping(method = RequestMethod.PUT, value = "/crud/{applicationName}/{formName}/data/{uuid}/data.xml")
public void saveInstance(@PathVariable String uuid, @RequestBody String putData)
呼ばれます。putData
完全な XHTML フォームが含まれています。なぜこうなった?2 番目の URL は、フォームに値を入力すると、インスタンス、より具体的<xforms:instance id="fr-form-instance">
にはフォームの一部を保存するためにのみ呼び出されると考えていました。