多数のエンティティ クラスの多数のプロパティに対応する多数のフィールドに対して、プロジェクトで WMD マークダウン エディターを使用しています。一部のクラスには、マークダウンを必要とする複数のプロパティがある場合があります。
後でフィールドを編集しやすくするため、マークダウン自体を保存しています。ただし、後で表示するためにプロパティを HTML に変換する必要があります。問題は、すべてのエンティティ クラスでマークダウン変換コードを記述しないようにするために使用できるパターンがあるかどうかです。
マークダウン文字列を受け取り、HTML を返すメソッドを持つユーティリティ クラスを作成しました。私はmarkdownjを使用していますが、これはうまくいきます。
問題は、マークダウンを格納する各クラスの各プロパティについて、HTML に変換する別のメソッドが必要になる場合があることです。
public class Course{
private String description;
.
.
.
public String getDescription(){
return description;
}
public String getDescriptionAsHTML(){
return MarkdownUtil.convert(getDescription());
}
.
.
.
}
問題は、Course クラスにさらに 2 つのプロパティ Tuition と Prerequisites があり、両方ともコンバーターが必要である場合、getTuitionAsHTML() と getPrerequisiteAsHTML() を記述する必要があることです。
少し醜いので、よりクリーンなソリューションが必要です。これを必要とするクラスは、単一の継承階層の一部ではありません。
私が検討している他のオプションは、モデルではなくコントローラーでこれを行うことです。これについてどう思いますか?
ありがとう。
[編集]: 新しい考え (ジャスパーに感謝)。このプロジェクトは struts2 を使用しているので (これについては前に言いませんでした)、マークダウンを変換すると言うビュー コンポーネントを作成できます。次に、値を HTML として表示する必要がある場合はいつでもそれを使用します。