OGNLを利用してStruts2Webアプリケーションを作成せず、Sunが提供する一般的なelを純粋に使用するとします。それの欠点は何でしょうか?
私の知る限り、OGNLは、現在の状態に基づいてValueStackから最も一致する値を一致させようとする一種の式です。代わりにELだけを使用することでも達成できますか?
返信ありがとうございます
ダニエル
簡単な回答:はい、OGNLの代わりにJSPELを使用できます。どちらの言語にも長所と短所がありますが、どちらを使用してもマイナス面はありません。
長い回答: OGNLはXWorkとStruts2によって内部的に使用されるため、依存関係自体を実際に削除することはできませんが、JSPビューレイヤーで主に(または排他的に)JSPELを使用することはできます。
どちらの表現言語を使用することにも賛否両論があります。OGNLがJSPELを凌駕する分野の1つは、バッキング<select/>
要素などのマップとコレクションの動的な作成です。
.tag
ただし、ほとんどの場合、JSPの単純なタグ(ファイル)を多用しているため、JSPELの方が適していることがわかります。
@Amit Sharma:OGNLではなくJSP / JSPLを使用すると、StrutsタグがStruts2を使用する目的に反することに同意しません。インターセプターフレームワーク、型変換、および結果型は、Struts2を使用する最も拡張可能で説得力のある理由の1つです。これらはいずれも、特定のビューテクノロジーに関連付けられていません。
struts2 WebアプリケーションでOGNLを使用しないことを選択したとしても、それは不可能だと思います。OGNLは、データ転送と型変換のためにstruts2によって内部的に使用されます。struts2の使用を計画している場合は、OGNLを使用する必要があります。使用しない場合は、struts2が自動的に使用します。
OGNLを省略して純粋なELを使用することもできますが、そのようにすると、struts2の組み込み機能を使用していない場合、struts2を使用する目的全体が無効になります。おそらく、ELを使用してこれらのメカニズムを最初から作成していることになります。
最初は奇妙に思えるかもしれませんが、OGNLは非常に強力であり、struts2で開発するときに検討する価値があります。