Domanda

Io uso Liferay 6.2 su JBoss 7.1.1. Inoltre sto usando un JSP come vista con Alloyui.

Voglio un pulsante come un collegamento e come sottomissione di un valore a un metodo nella classe MVCPortlet. Il collegamento è all'interno di un array Java. L'attributo che viene passato al metodo Java è all'interno di un campo di input.

funziona se utilizzo solo uno di questi due. Ho provato a combinarli ma non funziona. Ho provato questo:

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

Chiama il metodo ma non apre una nuova scheda nel mio browser.Nel mio browser posso vedere che è un link, se clicco direttamente su di esso -> Nuova scheda, lo apre correttamente in una nuova scheda.Ma non se sbaglio solo sul pulsante. Secondo modo:

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

Apre solo Google ma non chiama il metodo.Inoltre non è possibile ottenere un attributo Java all'interno di un JavaScript, ma potrei ottenere il valore di un campo di input nascosto.Ma ancora ci sarebbe il problema che non chiama il metodo.

È stato utile?

Soluzione

Ho deciso di andare avanti con la seconda soluzione. Il primo errore è stato return false; nel mio onclick param, quindi l'ho cancellato. Quindi la funzione di invio funziona come al solito. Il prossimo problema era accedere a una variabile Java all'interno del metodo JavaScript OnClick, quindi ho usato EL e JSTL per farla funzionare:

<c:set var="url" scope="session" value="<%=unread[i][k]%>"/>
<aui:button type="submit" onclick="window.open('${url}', '_blank', '');" />
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top