フラグメントのロードについて少し具体的な質問があります。
フォーム フレームワークにフラグメントを動的にロードし、フォーム Bean 定義から Java リフレクションを使用してフォームを生成します。事は、閉じたフォームタグが処理された後(理由がわからない)、ロードされたフラグメントが処理されることです(</form>
)。フォーム コンテキストは、選択したフォームの開始タグから終了タグまでしか保持しないため (同じページに複数のフォームが存在する可能性があるため)、ロードされたフラグメントの処理が thymeleaf によって延期されている間、例外が発生しています。
フラグメントをロードするためのコード:
public static List<Node> loadFragment(Arguments arguments, String fragmentName, String fragmentPath) {
IFragmentSpec fragmentSpec = new ElementAndAttributeNameFragmentSpec(null, "th:fragment", fragmentName, true);
FragmentAndTarget fat = new FragmentAndTarget(fragmentPath, fragmentSpec);
return fat.extractFragment(arguments.getConfiguration(), arguments, arguments.getTemplateRepository());
}
このコードは で呼び出されInitializerElProcessor
、フォーム全体が html にビルドされます。フラグメントは正常にロードされますが、タイムリーフによって処理されません。thymeleafによって既に処理されたフラグメントをロードするには? または、thymeleaf にこのノード (ロードの結果) をすぐに処理させるにはどうすればよいでしょうか?
アイデアをありがとう。