Question

J'utilise Liferay 6.2 sur JBoss 7.1.1.Aussi, je suis à l'aide d'un JSP de vue avec AlloyUI.

Je veux un bouton comme un lien et en tant que demandeur d'une valeur à une méthode dans la MVCPortlet classe.Le lien est à l'intérieur d'un tableau java.L'attribut qui est passé à la méthode java est à l'intérieur d'un champ de saisie.

Il fonctionne si j'utilise juste un de ces deux.J'ai essayé de les combiner entre eux, mais il ne fonctionne pas.J'ai essayé ceci:

<a href="<%=unread[i][k]%>" target="_blank" >
<aui:button type="submit" />
</a>

Elle appelle la méthode mais elle ne marche pas, ouvre un nouvel onglet dans mon navigateur.Dans mon navigateur, je peux voir que c'est un lien, si je clique droit sur celui-ci -> nouvel onglet, il s'ouvre correctement dans un nouvel onglet.Mais pas si je viens de cliquer sur le bouton.Deuxième façon:

<aui:button type="submit" onclick="window.open('http://www.google.de', '_blank', ''); return false;"/>

Il ouvre juste google, mais n'a pas d'appels de la méthode.Aussi il n'est pas possible d'obtenir une Java attribut à l'intérieur d'un script Javascript, mais j'ai pu obtenir la valeur d'un champ caché.Mais encore, il y aurait le problème de ne pas faire appel de la méthode.

Était-ce utile?

La solution

J'ai décidé de passer à la deuxième solution.La première erreur a été de return false; dans mon onclick param, donc je l'ai supprimé.Puis le soumettre fonction fonctionne comme d'habitude.Le problème suivant a été d'accéder à une variable Java à l'intérieur du javascript onclick méthode, j'ai donc utilisé de EL et JSTL pour le faire fonctionner:

<c:set var="url" scope="session" value="<%=unread[i][k]%>"/>
<aui:button type="submit" onclick="window.open('${url}', '_blank', '');" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top