これは、実際に答えられる質問というよりも、暴言かもしれません。まだ分からない。多くの人が遭遇する状況かもしれないと思うので、役に立つ質問になることを願っています.
約 40 の異なるステータスになる可能性のある情報を提示する JSP があります。複雑な金融商品のステータスだとしましょう。そのため、ステータスに応じたメッセージを出力したいと考えています。たとえば、ステータス 10 は「製品の有効化が保留中です」、ステータス 15 は「製品は有効です」などです。
したがって、ステータスに応じて適切なメッセージを返す単純なルックアップを作成でき、すべてがうまく機能するように思えます。
しかし実際には、ステータスだけでは適切なメッセージを判断するのに十分ではありません。ステータス 10 (アクティブ化保留中) であるが、アクティブ化から 1 週間以内の場合は、メッセージを赤くします。ステータス 10 (アクティブ化保留中) であるが、それを遅らせる外的理由がある場合、説明ページへのリンクを提供するメッセージが必要です。等々。
そのため、ステータス自体は、メッセージの決定と作成に必要なすべての情報を取得するわけではありません。他にも必要な無関係な情報がたくさんあります。
従来のコードの仕組みでは、これらすべての情報が JSP にロードされ、JSP はこの非ステータス情報に基づいて判断を下します。
サイトをやり直しているので、複数の異なる場所で同じステータス ロジックが必要であるにもかかわらず、異なるラッピング html を出力するという状況に直面しています。
要するに大雑把です。
理想的な答えは、すべての決定が jsps から取り出されるようにリファクタリングすることだと思います。うーん、それを処理する正しい方法が何であるかわかりません。非常に複雑で、どこから始めればよいかわかりません。
問題を明確にするのに十分な詳細を提供したかどうかはわかりませんが、誰かアドバイスがあれば、とても感謝しています..
編集:すべての回答をありがとう!コードは非常に厄介なので、必要な場所にそれらのファイルを含めることができるように、一般的なコードをインクルード ファイルに引っ張って少しリファクタリングしました。あなたが提案するように、関数を使用して物事をさらにカプセル化することを間違いなく検討します。すぐにあなたの答えに戻ります。再度、感謝します。