日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAStruts リンク記述におけるs:linkとhtml:linkの比較

發(fā)布時間:2024/4/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAStruts リンク記述におけるs:linkとhtml:linkの比較 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
http://localhost:8080/app/subapp/action/method/1

ホスト名以降、「メインアプリ/サブアプリ/アクション/メソッド/パラメータ」とします。

SAStrutsでこのURLにアクセスした場合の、<s:link>と<html:link>の挙動を比較してみます。

s:link

以下、公式リファレンスの引用です。

SAStrutsには、Strutsのhtml:linkを継承したs:linkが用意されています。 href屬性を設定するときに、コンテキストルートを自動的に補完させる場合に使います。パスを/ではじめた場合は、コンテキストルートからみたパスになります。パスが/ではじまっていない場合は、JSPからみたパスになります。

Super Agile Struts - Feature Reference
JSP
<s:linkhref="">A</s:link> <s:linkhref="link">B</s:link> <s:linkhref="./">C</s:link> <s:linkhref="./link">D</s:link> <s:linkhref="../">E</s:link> <s:linkhref="http://www.cnblogs.com/">F</s:link> <s:linkhref="/">G</s:link> <s:linkhref="/link">H</s:link>
出力html

想定される遷移先をコメントで示しています。

<ahref="/app/subapp/action/">A</a> <!-- 同じアクションのindexメソッド --> <ahref="/app/subapp/action/link">B</a> <!-- 同じアクションのlinkメソッド --> <ahref="/app/subapp/action/./">C</a> <!-- 同じアクションのindexメソッド --> <ahref="/app/subapp/action/./link">D</a> <!-- 同じアクションのlinkメソッド --> <ahref="/app/subapp/action/../">E</a> <!-- サブアプリのIndexアクション --> <ahref="/app/subapp/action/http://www.cnblogs.com/">F</a> <!-- メインアプリのIndexアクション --> <ahref="/app/">G</a> <!-- メインアプリのIndexアクション --> <ahref="/app/link">H</a> <!-- メインアプリのLinkアクション -->
遷移先URL
A http://localhost:8080/app/subapp/action/ B http://localhost:8080/app/subapp/action/link C http://localhost:8080/app/subapp/action/ D http://localhost:8080/app/subapp/action/link E http://localhost:8080/app/subapp/ F http://localhost:8080/app/ G http://localhost:8080/app/ H http://localhost:8080/app/link

html:link

JSP
<html:linkhref="">A</html:link> <html:linkhref="link">B</html:link> <html:linkhref="./">C</html:link> <html:linkhref="./link">D</html:link> <html:linkhref="../">E</html:link> <html:linkhref="http://www.cnblogs.com/">F</html:link> <html:linkhref="/">G</html:link> <html:linkhref="/link">H</html:link>
出力html
<ahref="">A</a> <!-- 同じアクションの同じメソッド、同じパラメータ --> <ahref="link">B</a> <!-- 同じアクションの同じメソッド、linkパラメータ --> <ahref="./">C</a> <!-- 同じアクションの同じメソッド、パラメータなし --> <ahref="./link">D</a> <!-- 同じアクションの同じメソッド、linkパラメータ --> <ahref="../">E</a> <!-- 同じアクションのindexメソッド --> <ahref="http://www.cnblogs.com/">F</a> <!-- サブアプリのIndexアクション --> <ahref="/">G</a> <!-- ドキュメントルート --> <ahref="/link">H</a> <!-- 別のWebアプリ -->
遷移先URL
A http://localhost:8080/app/subapp/action/method/1 B http://localhost:8080/app/subapp/action/method/link C http://localhost:8080/app/subapp/action/method/ D http://localhost:8080/app/subapp/action/method/link E http://localhost:8080/app/subapp/action/ F http://localhost:8080/app/subapp/ G http://localhost:8080/ H http://localhost:8080/link

まとめ

基本的には、<s:link>を使うのが良いと思います。<html:link>だと、以下の場合に遷移先URLが異なってしまいます。

※?html:link?「/」で終わるURLの場合
http://localhost:8080/app/subapp/action/method/1/ A http://localhost:8080/app/subapp/action/method/1/ B http://localhost:8080/app/subapp/action/method/1/link C http://localhost:8080/app/subapp/action/method/1/ D http://localhost:8080/app/subapp/action/method/1/link E http://localhost:8080/app/subapp/action/method/ F http://localhost:8080/app/subapp/action/

<s:link>であれば、「/」で終わっていても同じURLになります。自動補完により、必ず絶対パスで出力されるためです。

轉載于:https://www.cnblogs.com/aggavara/archive/2012/09/29/2708713.html

總結

以上是生活随笔為你收集整理的SAStruts リンク記述におけるs:linkとhtml:linkの比較的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。