AEM6 Sightly: Comment passer un paramètre à partir de l'HTML à une méthode de Java-modèle de la classe?
Je voulais passer un paramètre à partir de code html WCMUse classe.
Java:
public class ComponentHelper extends WCMUse {
public void activate() throws Exception {}
...
public String methodA(String parameter1) {
...
}
public String getParam() {
String param = "";
...
return param;
}
}
HTML:
<componentHelper data-sly-use.componentHelper="ComponentHelper" data-sly-unwrap />
...
<div>
${componentHelper.methodA @ parameter1=componentHelper.param}
<!--/* Also tried: ${componentHelper.methodA @ componentHelper.param} */-->
</div>
Malheureusement, il semble que je ne peux pas passer n'importe quel paramètre dans la méthode. Est-il possible de passer un paramètre à WCMUse classe de html?
OriginalL'auteur kmb | 2015-01-21
Vous devez vous connecter pour publier un commentaire.
Java Utilisation de l'API ne les supporte pas le passage de paramètres à la méthode de lecture. Vous pouvez passer des paramètres une fois, lors de l'Utilisation de la classe d'initialisation. Jetez un oeil sur cet exemple inspiré par le Sightly documentation:
De code Java:
Ce genre de paramètres n'a de sens que lorsque la classe est appelée à partir de
data-sly-template
éléments (sinon, les paramètres peuvent être aussi bien codé en dur dans l'Utilisation de la classe). Plus d'informations peuvent être trouvées dans le chapitre suivant de aferomentioned de la documentation.<div data-sly-unwrap data-sly-use.softwarehandler="${'com.software.wcm.sightly.handlers.SoftwareHandler' @ slaId=anotherhandler.slaId}">
mais dans ce anotherHandler classe java slaId je suis nulle. Si j'utilise ${anotherhandler.slaid} puis sa ne fonctionne pas, si j'utilise " ${anotherhandler.slaid}', puis son entrée en tant que chaîne de caractères. De quelle façon puis-je réaliser cela ?OriginalL'auteur Tomek Rękawek