0

JBoss 7.1.1 で Liferay 6.2 を使用しています。また、AlloyUI のビューとして JSP を使用しています。

リンクとしてのボタンと、MVCPortlet クラスのメソッドへの値のサブミッターとしてのボタンが必要です。リンクは Java 配列内にあります。Java メソッドに渡される属性は、入力フィールド内にあります。

この2つのうちの1つだけを使用すると機能します。それらを組み合わせようとしましたが、うまくいきません。私はこれを試しました:

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

メソッドを呼び出しますが、ブラウザで新しいタブを開きません。私のブラウザでは、それがリンクであることがわかります。それを右クリックすると、新しいタブが開き、新しいタブで正しく開きます。しかし、ボタンをクリックするだけではそうではありません。2 番目の方法:

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

Googleを開くだけで、メソッドは呼び出されません。また、Javascript 内で Java 属性を取得することはできませんが、非表示の入力フィールドから値を取得することはできました。しかし、それでもメソッドを呼び出さないという問題があります。

4

1 に答える 1

0

私は2番目の解決策を続けることにしました。最初の間違いは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', '');" />
于 2014-08-01T08:53:27.907 に答える