2013-01-11 31 views
5

Ho un modello di gioco 2.0 con le seguenti prime righe:non è disponibile in Play! template framework

@(item: Option[Item] = None, 
    violations: java.util.Set[ConstraintViolation[Item]] = new util.HashSet[ConstraintViolation[Item]]()) 

@import java.util 
@import javax.validation.ConstraintViolation 

Ma la ConstraintViolation non può essere trovato ed ottengo l'errore:

not found: type ConstraintViolation 

L'API convalida veccia stessa è disponibile in l'applicazione dal momento che posso usarlo in un controller. Cosa posso fare per importarlo nel mio modello?

risposta

9

utilizzare il nome completo, vale a dire @(item: Option[Item] = None, violations: java.util.Set[javax.validation.ConstraintViolation[Item]] = new util.HashSet[javax.validation.ConstraintViolation[Item]]()) o aggiungere importazioni template generali in Build.scala, come questo:

val main = PlayProject(appName, appVersion, appDependencies, mainLang = SCALA).settings(
    templatesImport += "javax.validation.ConstraintViolation" 
) 
+0

Wow, questo molto conveniente. – pedrofurla

+0

Grazie. Ma perché è impossibile importare il pacchetto? C'è una regola quando l'importazione è possibile e quando no? – deamon

+0

L'importazione funziona, ma viene dopo l'elenco dei parametri. Quindi nella lista dei parametri, il tipo è ancora sconosciuto. –