Come si gioca controllori Iniettare variabili con il nome proprio in modelli?
-
26-09-2019 - |
Domanda
Gioca ottenere documenti iniziate , mostrano questo controller:
public static void index() {
Post frontPost = Post.find("order by postedAt desc").first();
List<Post> olderPosts = Post.find("order by postedAt desc").from(1).fetch(10);
render(frontPost, olderPosts);
}
Poi, nel modello del frontPost e olderPosts vengono utilizzati senza alcuna mappatura speciale!
<a href="#">${frontPost.title}</a>
Come è un gioco da preservare questi nomi?
Soluzione
E 'costituito da iniezione di codice.
A compilazione, alcune classi sono arricchite (con iniezione di codice, da Javassist ), al fine di aggiungere alcune informazioni, come nomi di variabili.
Nel metodo di rendering, questa operazione viene eseguita dalla classe "play.classloading.enhancers.LocalvariablesNamesEnhancer.LocalVariablesNamesTracer".
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow