[精讚] [會員登入]
675

【Wickct】(link) <a> 如何新增超連結

簡單來說有兩種方式,小編個人比較偏好 的方法

分享此文連結 //n.sfs.tw/15676

分享連結 【Wickct】(link) <a> 如何新增超連結@小編過路君子
(文章歡迎轉載,務必尊重版權註明連結來源)
2022-03-12 05:12:22 最後編修
2022-03-11 19:27:43 By 過路君子
 

哈囉大家好,這裡是感覺最近天氣很好的小編過路君子

最近天天出大太陽,還能看到湛藍的天空,整個心情都開闊了起來

 

 

那假設我們在同個目錄下有兩個網頁且我們要由 hello.html 連結至 another.html。

(所有圖片點擊都可以放大、變高清)

如果 another.java 在不同目錄下,例如:上一層目錄,根據使用的方法不同,會有不同的寫法,之後會再個別詳細指出。

這篇的目錄結構是承接這篇:【Maven】[Wicket](Java) 如何部署Wicket到Wildfly內@小編過路君子 ,這邊只貼出不同之處而已,完整的目錄結構要到那篇去看喔。

 

使用<wicket:link>

使用上的感覺就很像原生的 <a>,可以使用相對連結來連結兩個檔案。

然後在這裡的 another.html 和 another.java 的內容不重要,不會影響到我們的超連結。

hello.html:

<!doctype html>
<html>
    <head>
        <title>Link to another page with wicket:link</title>
    </head>

    <body>
        <div>
            <wicket:link>
                <p><a href="./another.html">Go to another page</a></p>
            </wicket:link>
        </div>
    </body>
</html>

hello.java:

package taiwan.webpage;

import org.apache.wicket.markup.html.WebPage;

public class hello extends WebPage
{
    public hello() {}
}

實際運作畫面:

當我們今天沒有將頁面掛載的時候(以後會寫一篇來談談),預設的網址又臭又長。

換言之,可以不使用 <wicket:link>,直接寫 <a> 然後 href 到上述的網址也是可以的,但是這樣每次都要去翻筆記出來看這又臭又長的東西,一點都不優雅囉。

所以在未掛載頁面時,小編的首頁會放在 wicket/bookmarkable/taiwan.webpage.hello 這,簡單吧! 

 

 

使用<wicket:id>

相對於 <wicket:link> 不需要任何 Java 程式碼支持,若要使用 <wicket:id> 則需要寫一點 Java 來產生連結的效果。

hello.html:

<!doctype html>
<html>
    <head>
        <title>Link to another page with wicket:id</title>
    </head>

    <body>
        <p><a wicket:id="gotoAnother">Go to another page</a></p>
    </body>
</html>

hello.java:

package taiwan.webpage;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.link.Link;

import taiwan.webpage.another;

public class hello extends WebPage
{
    public hello()
    {
        add(new Link<Void>("gotoAnother")
        {
            @Override
            public void onClick() {setResponsePage(another.class);}
        });
    }
}

實際運作畫面:

對,執行效果一模一樣完全沒有差別。

感覺好像很沒有用,那這個功能為什麼還要存在?因為這個方法最重要的效果就是製作動態響應頁面啊,詳細資訊可以參照下方,因為不是今天主題,所以 Pass!

如何使用 <wicket:id> 來做動態響應或是製作一個簡單的登入功能可以參考這篇: 【Wickct】如何製作一個簡單的動態響應頁面@小編過路君子

 

 

 

後記

其實上文所有內容都是從官方文檔裡整理出來的,官方文檔真的算是寫得非常清楚以及有系統性的文章,跟目前中文介紹 wicket 比的話。

而且官方文檔只有一頁,很長很長,有時可以用在一起的概念可能中間還插一些其他的功能解釋,很常不小心就又找不到剛剛看的重點在哪裡。

綜合以上原因,這篇才就此誕生。

END

你可能感興趣的文章

【JAVA】[java.lang.Class]如何不透過new來實體化class 在某些極端狀態下,我們沒有辦法直接將實體化後的 Object 傳入函數內,只能採用傳入 Class 在實體化成物件這種極端的方式來進行

【JSON In Java】如何快速產生JSON 身為三十年老程式語言,當然對Json有不錯的支援,那究竟該如何使用呢

【自製-製作epub輔助工具】(Sigil) content產生器 能交給程式快速結束的地方就不要自己手動浪費時間了吧。

【Minecraft】[CoreProtect|BungeeCord]如何重新命名世界或維度名稱 當只有一個伺服器的時候,問題往往處理起來非常簡單,但是一旦當伺服器成長至兩台以上,事情便開始有趣了起來

【Vim】解決貼上文字時出現過多空格的問題 換了新系統,有時候就算重裝軟體並且複製了設定檔也還是會出現非常奇怪的現象

【Firefox \ Maven】[Headless](Linux) 如何使用Maven打包並驅動Firefox 有時候我們需要取得渲染後的網頁,當然是直接呼叫瀏覽器出來用啦

隨機好文

高捷少女:小穹與果仁巧克力㊦ 「如果妳跟一個女生同班三年,看過她午休流口水跟狼吞虎嚥地吃午餐,就算變成高捷代言人,也很難把她當女神的啦!」她說,小穹氣得搶走她義大利麵裡的蝦子,其他人笑得花枝招展。

高捷少女:地下城的探險少女⑤ 小穹寫好後,耐耐看了一遍。「我想我應該辦得到。」她說完跪坐在地上,然後把古箏安放在大腿上,並將樂譜放在前面的地板。「要開始囉。」耐耐閉上眼睛,深呼吸一口氣,小穹等人在一旁看著她,心中暗自替她打氣。

高捷少女:美麗島的守護者⑤  雖然暫時不用怕牠們了,可是一直躲在這裡終究不是辦法,小雅心想。她看看四周,這間更衣室沒有窗戶或後門,她不禁著急起來,不可能一直躲在這裡面,但從門出去只會被群貓圍攻而已。小雅低下頭苦思該怎麼辦,過了不

高捷少女:耐耐的新年驚喜② 「各位,我跟爸媽聊完了……」耐耐走進客廳,看到大家在看自己的相簿,臉蛋立刻紅了。「哇啊啊,不要看那個!」她三步併作兩步地走向少女們,將相簿拿走。「為什麼啊?小時候的耐耐很可愛啊。」婕兒不解地說。

高捷少女:耐耐的新年驚喜(終) 他的話說到一半,便被一陣響亮的哭聲打住了,是從產房中的傳來的。聽起來就像嬰兒的哭聲。 婕兒、小穹跟艾米也被哭聲吵醒,婕兒揉揉眼睛,看向呆若木雞的耐耐父女。「剛剛的聲音,該不會是……」