문제

JBoss 7.1.1에서 Liferay 6.2를 사용합니다. 또한 Alloyui를 사용하여 JSP를 사용하고 있습니다.

i 단추를 링크로 원하며 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;"/>
.

Google을 열지 만 메소드를 호출하지는 않습니다.또한 JavaScript 내부에서 Java 속성을 가져올 수는 없지만 숨겨진 입력 필드에서 값을 가져올 수 있습니다.그러나 그 방법이 호출되지 않는 문제가있을 것입니다.

도움이 되었습니까?

해결책

나는 두 번째 솔루션을 사용하기로 결정했습니다. 첫 번째 실수는 OnClick Param에서 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', '');" />
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top