페이지에서 일부 작업이 발생하면 웹 응용 프로그램에서 인증을 수행하려고합니다. 예를 들어 사용자가 "장바구니에 추가"버튼을 클릭하고 아직 인증되지 않은 경우 로그인 페이지가 표시됩니다. signIn 후 previos 페이지로 돌아갑니다. 이것을 구현하기 위해 wicket에서 사용할 수있는 것은 무엇입니까?사용자 지정 승인 조치 위킷 구현
P. 제품 페이지에는 @AuthorizeInstantiation ("USER") 주석이 포함 된 Buy 페이지로 이동하는 "지금 구입"링크가 있습니다. 이 링크는 잘 작동합니다.
"장바구니에 추가"에서 같은 것을 만들기 위해 MetaDataRoleAuthorizationStrategy를 사용할 수 있다고 생각합니다. 그러나 사용 가능한 동작은 ENABLE 및 RENDER입니다. 내 자신의 Action을 컴포넌트에 추가 할 수는 있지만 어떻게 Action을 컴포넌트의 onClick() 메소드와 연관시킬 수 있습니까? 편집
--- ---
쓸 곳을 몰라, 그래서 내가 게시물을 편집 할 수 있습니다. 나는 크리스토프 라이터의 솔루션을 시도 :add(link = new AjaxFallbackLink("add2cart") {
@Override
public void onClick(AjaxRequestTarget target) {
if (!CynephoneSession.get().isSignedIn()) {
throw new RestartResponseAtInterceptPageException(SignIn.class);
}
user.addItem(item.copy());
target.add(cartPanel);
}
});
을하지만 난 어떻게 든이 링크를 클릭 한 후 나는 파이어 폭스의 업데이트 cartPanel와 아약스 응답을 참조하십시오. 나는 authroles 모듈과 전문가가 아니에요, 그래서 잘 모르겠어요 ...
<?xml version="1.0" encoding="UTF-8"?><ajax-response><component id="cart2" ><![CDATA[<div class="cart" wicket:id="cart" id="cart2">
<span wicket:id="total">11 800</span> <img src="./resource/top.Top/img/rouble-ver-1346040298957.gif"/><br/>
<img src="./resource/top.Top/img/good-ver-1346040298926.gif"/>х<span wicket:id="quantity">2</span>
</div>]]></component></ajax-response>
이
그것은 예외를 전달하는 방법을 이해하지 마십시오
감사합니다! 전에 개찰을 들여다 보지 않습니다. 이제 실행 흐름을 제어하는 또 다른 방법이라고 생각합니다. – cynepnaxa
나는 이것을 시도하고 이상한 결과가 발생한다. 나는 그것을 머리에 더한다. – cynepnaxa
정확히 무슨 일이 벌어지고 있는지보기 위해 디버거를 단계별로 시도해 볼 수 있습니까? 예외가 발생하면이 코드가 어떻게 실행되는지 알 수 없습니다. –