Вопрос

Я использую Liferay 6.2 на JBOSS 7.1.1. Также я использую JSP As As View с Alloyui.

Я хочу кнопку как ссылку и в качестве подачи значения для метода в классе MVCortlet. Ссылка находится внутри массива 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;"/>
.

Это просто открывает Google, но не вызывает метода.Также невозможно получить атрибут Java внутри JavaScript, но я мог получить значение из скрытого поля ввода.Но все же была бы проблема, которую она не вызывает метода.

Это было полезно?

Решение

Я решил войти со вторым решением. Первая ошибка была return false; в моем onClick Param, поэтому я удалил его. Затем функция отправки работает как обычно. Следующая проблема заключалась в том, чтобы получить доступ к переменной Java внутри метода javaScript onclick, поэтому я использовал 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