2016-03-22 23 views
1

Projemin eski bir sürümünde, ActionsForm sınıfları ile Struts 1.x kullandım.Spring MVC Model özelliklerinin başlatılması

Form sınıfımda 'Long' türünde bir 'count' özelliği olduğunu varsayalım. Bu form sınıfını kabul eden bir eylem sınıfı çağırırsam, mülkün değeri otomatik olarak "0" olarak ayarlanır.

Hayır Spring MVC'ye geçtim ve form sınıfları yerine model sınıfları kullanıyorum. Ama oldukça aynı görünüyorlar - bu yüzden de 'Uzun' türünün bir özelliği var. Ben 'myModelClass' içine baktığınızda

@RequestMapping(value = "/dosomething") 
public ModelAndView list(@ModelAttribute MyModelClass myModelClass) { 

, 'sayım' özelliği null:

Şimdi, benim denetleyicisi sınıf diyoruz. Fakat Struts'ta olduğu gibi, varsayılan olarak 0 olmasını istiyorum.

Bu nasıl yapılabilir?

+0

Model nesnesinde bir varsayılan değer atayarak. –

+0

Bu bir çözüm olabilir, ancak bana hızlı ve kirli görünüyor. Her zaman varsayılan değerlere bir göz atmalı ve bazı ekstra kodlar yazmam gerekiyorsa, model sınıflarını kullanmanın avantajı yok gibi görünüyor .. – CodeCannibal

+0

Neden, tüm bilgiler model nesnesinde olduğundan, bunun neyin yanlış olduğundan emin değilsiniz. Herhangi bir nesne için varsayılan değer 'null', bu yüzden eğer bir şey başka bir şey isterse, nesne sarıcı yerine' long' (uzun süre) 'yi kullanırsa veya gönderdiğiniz (istemcide) bir varsayılan değer atarsa. –

cevap

0

Uzun (Sarıcı Sınıfı) için varsayılan değer boş. Bu nedenle MyModelClass sayınız null değere sahip. Varsayılan değeri 0 istiyorsanız, ilkel uzun'u kullanın.