我在 JBoss 7.1.1 上使用 Liferay 6.2。我还使用 JSP 作为 AlloyUI 的视图。

我想要一个按钮作为链接和作为 MVCPortlet 类中方法的值的提交者。该链接位于 java 数组内。传递给 java 方法的属性位于输入字段内。

如果我只使用这两个中的一个就可以了。我尝试将它们结合起来,但没有成功。我试过这个:

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

它调用该方法,但不会在我的浏览器中打开新选项卡。在我的浏览器中,我可以看到它是一个链接,如果我右键单击它 - >新选项卡,它会在新选项卡中正确打开它。但如果我只是点击按钮就不会。第二种方式:

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

它只是打开谷歌但不调用该方法。另外,不可能在 Javascript 中获取 Java 属性,但我可以从隐藏的输入字段中获取值。但仍然存在它没有调用该方法的问题。

有帮助吗?

解决方案

我决定继续使用第二种解决方案。第一个错误是 return false; 在我的 onclick 参数中,所以我删除了它。然后提交功能就可以正常工作了。下一个问题是访问 javascript onclick 方法中的 Java 变量,因此我使用 EL 和 JSTL 来让它工作:

<c:set var="url" scope="session" value="<%=unread[i][k]%>"/>
<aui:button type="submit" onclick="window.open('${url}', '_blank', '');" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top