Pregunta

Yo uso Liferay 6.2 en JBoss 7.1.1. También estoy usando un JSP como vista con Alloyui.

Quiero un botón como un enlace y como un remitente de un valor a un método en la clase MVCPortlet. El enlace está dentro de una matriz Java. El atributo que se pasa al método Java está dentro de un campo de entrada.

funciona si uso solo uno de estos dos. Intenté combinarlos, pero no funciona. Probé esto:

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

Se llama el método, pero no se abre una nueva pestaña en mi navegador.En mi navegador puedo ver que es un enlace, si hago clic en él, >> Nueva pestaña, lo abre correctamente en una nueva pestaña.Pero no si solo hago clic en el botón. Segundo camino:

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

Solo se abre Google pero no llama al método.Además, no es posible obtener un atributo de Java dentro de un JavaScript, pero podría obtener el valor de un campo de entrada oculto.Pero aún así habría el problema de que no llame al método.

¿Fue útil?

Solución

Decidí continuar con la segunda solución. El primer error fue return false; en My OnClick Param, así que lo eliminé. Luego, la función Enviar funciona como de costumbre. El siguiente problema fue acceder a una variable de Java dentro del método JavaScript OnClick, así que usé EL y JSTL para que funcione:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top