2011-07-17 2 views
1

Wicket에는 링크를 만들 수있는 몇 가지 옵션이 있습니다.HTML의 개찰 링크에 매개 변수를 두는 방법은 무엇입니까?

예. 이

<wicket:link><a href="Page2.html?productId=1694969292874602935">Go to Page 2 
</a></wicket:link> 

이것은 매개 변수를 전달하는 것을 보여줍니다. 그러나 우리는 팝업 링크가 필요한 페이지 링크를 사용해야하며, 링크 자동 링크 페이지는 링크를 필요로하지 않으므로 사용하지 않습니다.

가 링크를 할 수있는 유일한 방법은 다음과 같이이다 :

<a href="#" wicket:id="launchlink">click here</a> 

질문 나는 그것을 디자이너가 입력 할 수있는 매개 변수를 제공하는 방법, 위의 표기를 사용한다? 다음과 같은 내용 :

<a href="#" wicket:id="launchlink" wicket:params="productid=2342">click here</a> 

아이디어가 있으십니까?

페이지를 마운트 한 다음 하드 코딩 된 html 링크를 사용할 수 있습니다 (예 :

<a href="/mount/launch/?productid=asdf">click here</a> 

그러나, 우리는 특히 세션에서 기록에 종속 등으로 북마크가이 링크를 싶지 않는 등

이상적으로, 우리는 동적으로 일부 매개 변수를 추가하고, 그 일부를 사용할 수 있도록하려는 것 디자이너가 html 페이지에 수동으로 추가했습니다. 가능하기에는 너무 극단적 인 것처럼 들리지만 결코 알지 못합니까?

답변

0

직접 링크 구현을 작성하십시오.

<a href="#" wicket:id="launchlink" wicket:params="productid=2342">click here</a> 

따라서 마크 업 스트림을 검색해야합니다. 그런 다음 정규 표현식을 사용하여 매개 변수를 추출 할 수 있습니다. 그러나 충돌을 피하기 위해 다른 네임 스페이스를 사용해야합니다.

이것은 곧 사용할 수있는 답변이 아니지만 많은 코드없이 완료 될 수 있다고 생각합니다.

2

BookmarkableLink를 사용하여 onInitialize() 메소드를 재정의하고 org.apache.wicket.Component.getMarkupAttributes()를 사용하여 사용자 정의 속성 값을 가져 와서 org.apache.wicket.markup.html.link 링크에 추가하십시오 .BookmarkablePageLink.setParameter (String, String).