我在JBoss 7.1.1上使用Liferay 6.2。 我也使用JSP作为AlloyUI的视图。
我想要一个按钮作为链接,并作为MVCPortlet类中方法的值的提交者。 该链接位于java数组中。 传递给java方法的属性位于输入字段内。
如果我只使用这两个中的一个,它就有效。 我试图将它们结合起来,但它不起作用。 我试过这个:
<a href="<%=unread[i][k]%>" target="_blank" >
<aui:button type="submit" />
</a>
它调用方法,但它不会在我的浏览器中打开新选项卡。在我的浏览器中,我可以看到它是一个链接,如果我点击它 - >&gt;新选项卡,它在新选项卡中正确打开它。但是,如果我只是点击按钮就不行了。 第二种方式:
<aui:button type="submit" onclick="window.open('http://www.google.de', '_blank', ''); return false;"/>
它只是打开谷歌但没有调用该方法。此外,无法在Javascript中获取Java属性,但我可以从隐藏的输入字段中获取值。但是仍然存在它没有调用该方法的问题。
答案 0 :(得分:0)
我决定继续使用第二种解决方案。
我的onclick参数中的第一个错误是return false;
,所以我删除了它。
然后提交功能照常工作。
接下来的问题是在javascript onclick方法中访问一个Java变量,所以我用EL和JSTL来实现它:
<c:set var="url" scope="session" value="<%=unread[i][k]%>"/>
<aui:button type="submit" onclick="window.open('${url}', '_blank', '');" />