Liferay + JSP + Alloyui: кнопка как ссылка и отправьте
Вопрос
Я использую 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', '');" />
.