2011-03-08 13 views
0

のための本当のユースケースのシナリオである私は、これは春変換サービス

ConversionService in Spring

を疑問視読んでいたが、私はまだ私たちは、変換を行う必要があるシナリオの下でそれを得るいけません。

は、誰かが私に

答えて

1

春のWebflowは春の変換サービスを利用したWeb apllicationjに変換サービスを使用しての実際の生活の例ことができるものの例を与えることができます。 Webflowでは、InitBinderタイプのメソッド/アノテーションが使用可能ではありません。だから、あなたはすべてのフローに対して実行したいコンバージョンについてSpringに伝えます。 ConversionServiceが利用できなかった場合、バインディングサポートは利用できなくなります。

+0

私はそれを必要としないことを意味します。spring mvc –

+0

あなたはSpring MVCのためにそれを必要としません。私はInitBinderを使用するだけでうまくいっています。 –

+0

3ヶ月後の不正な投票のようなものはありません –

1

変換サービスを使用すると、UIとビジネスオブジェクトを直接変換できます。

私は製品のドロップダウンを持つwebappを持っているとしましょう。ドロップダウンの値(例えば、id 4)からProductに変換するProductConversionServiceを定義するのは簡単です。今私のコード(コントローラ、APIなど)では、私は単にProductを参照し、すべてが自動的に発生します。

古いUIでは、この変換に捧げられた多くのコードを見てきました。私は等々、モック要求を作成し、それをproductIdParameterを与えるとしなければならないので、このコードは、またテストすることはより困難である

String productIdParam = request.getParameter("productId"); 
// Validate that the param exists, is numeric, etc..... 
Long productId  = Long.valueOf(productIdParam); 
Product product  = productManager.findProduct(productId); 

:私は意図的に、粗例をあげます。また、これが必要な場所であればどこでもproductManagerを利用できるようにする必要があります。 ConversionServiceで

、私はJSPでこれを置くことができます。

<form:select path="mystuff.product"> 
    <option value="1">Nook</option> 
    <option value="2">Cranny</option> 
</form:select> 

私のSpring MVCのコントローラが要求を受け取ると、mystuff.getProductは()選択された製品を持っています。清潔でシンプル。そして、私はこれもWeb層の外で使うことができます。

関連する問題