XML/XSLT ベースの開発を長年行った後、私は Java の世界に来ましたが、次第に疑わしくなってきました。Java Web アプリケーション構築のイデオロギーにおいて本当に重要な何かが欠けているようです。
これは、xslt の考え方でレイアウトを構築する方法です。必要なすべてのデータを 1 つの XML ファイルに集約し、それを html レイアウトに変換できます。
実例となる疑似 XML ベースの言語では、次のようになります。
<data xmlns:x="..." xmlns:xi="...">
<x:get url="http://ourrestapi.net/rrrrrest" xpath="/rest/rest/rest[2]">
<x:param name="sortBy" value="desc" />
</x:get>
<x:get url="http://ourrestapi.net/userdata">
<x:guard test="authorized">
<x:param name="login" value="john" />
</x:guard>
</x:get>
<xi:include href="common.xml" />
</data>
アイデアを説明するのに十分だと思います。それが、私がサーブレット/jsp の世界で常に実装しようとしてきたアプローチでした。驚くことではありませんが、この問題は、「jsp ページにサーブレット出力を含めるにはどうすればよいですか?」という古典的な jsp 初心者の質問に要約されると思います。
正解は (間違っていたら訂正してください) - そうすべきではありません。リクエストチェーンを使用する必要があります。私が理解している限り (もう一度、事実を混同している場合は訂正してください)、それは servletA を呼び出す必要があることを意味します。これは、適切なデータを現在の要求に入れ、それを servletB などに転送します。最後に、すべての属性が入力されたページにリダイレクトされます。
私としては、このアプローチの主な問題点を少なくとも 2 つ挙げることができます。
- リダイレクトの順序をどこかに保つ必要があります。servletA が servletB にリダイレクトする必要があるかどうか、監視オブジェクトがジョブを実行する必要があるかどうかはわかりません。
- リクエスト属性にすべてを文字列として保存している場合、servletA で取得したデータに関して servletB 呼び出しをパラメータ化する必要がある場合、退屈なシリアライズ/デシリアライズ作業を提供する必要があります。
だから、私の質問は -いくつかの異なるソースから JSP ページにデータを追加するための最良の方法は何ですか.
これらの質問が経験豊富な JSP 開発者にとってばかげているように聞こえる場合は、すみません。実際、Java の世界は非常に巨大で成熟しているため、真実を見つけるのは必ずしも容易ではありません。