Struts2.0--S:URL標(biāo)簽 請(qǐng)求參數(shù)

          Posted on 2008-01-11 16:02 puras 閱讀(9137) 評(píng)論(3)  編輯  收藏 所屬分類: Struts2.0

          在Struts2.0.11之前,一些頁(yè)面的標(biāo)簽,我還是比較喜歡使用JSTL, 比如說:c:url,類似的,因?yàn)镾truts里提供的一些標(biāo)簽,雖然也能完成相應(yīng)的功能,而且有些功能還更加的強(qiáng)大,但是不如JSTL的用起來方便.但是從Struts2.0.11開始,已經(jīng)不再支持EL語(yǔ)言了,使我開始轉(zhuǎn)向使用Struts2.0的標(biāo)簽了...

          有的時(shí)候,我們需要在頁(yè)面內(nèi)標(biāo)識(shí)一個(gè)資源,但是使用相對(duì)路徑有時(shí)會(huì)引起錯(cuò)誤,使用Struts的URL標(biāo)簽可以讓我們直接使用絕對(duì)路徑(以前一直用c:url來著.這里的絕對(duì)路徑,也是相對(duì)于WEBAPP的根目錄的), 比如,引用一張位于/webapp/images/下的圖片test.png.使用URL標(biāo)簽則為:

          <s:url value="/images/test.png" />

          這么用其實(shí)已經(jīng)很方便了,但是有的時(shí)候會(huì)出現(xiàn)一點(diǎn)點(diǎn)小問題,說是問題,原因也是因?yàn)樽约翰僮鞯膯栴},呵.

          比如寫JS中,兩個(gè)參數(shù),一個(gè)是圖片的位置,一個(gè)是圖片名稱.可能寫的時(shí)候就要分開寫,這個(gè)時(shí)候如果URL上跟有請(qǐng)求參數(shù),而還用上面的URL標(biāo)簽,就會(huì)出現(xiàn)問題.因?yàn)閁RL標(biāo)簽會(huì)自動(dòng)的將URL上的請(qǐng)求參數(shù)加到你的URL標(biāo)簽的Value后面.這樣上面的圖片的位置可能就不是你想要的位置了.

          解決辦法:

          在上面的標(biāo)簽中添加一個(gè)屬性:

          <s:url value="/images/test.png" includeParam="none" />

          如果想讓所有的URL標(biāo)簽都不要自動(dòng)的添加URL的請(qǐng)求參數(shù),可以通過配置Struts.xml文件來解決這個(gè)問題.

          在Struts.xml文件中添加下面一行,將s:url的默認(rèn)行為修改一下:

          <constant name="struts.url.includeParams" value="none" />

          這樣,就不用在每個(gè)標(biāo)簽上都寫includeParam屬性了,不過在需要請(qǐng)求的參數(shù)的時(shí)候,就得需要自己來手動(dòng)添加這個(gè)屬性了.

          includeParam提供了三個(gè)選項(xiàng):none, get or all

          PS:發(fā)現(xiàn)廢話越來越多了,呃....啊~~~~~~~~~~~~~~~~~~~~~~~~~~~~

          Feedback

          # re: Struts2.0--S:URL標(biāo)簽 請(qǐng)求參數(shù)  回復(fù)  更多評(píng)論   

          2008-05-07 20:08 by Nettree
          有一個(gè)問題想請(qǐng)教,我把菜單的路徑做成表存在數(shù)據(jù)庫(kù)中,我在登錄Action中讀取出了登錄用戶相應(yīng)的權(quán)限菜單并封裝在List中,問題是,在頁(yè)面中,我用迭代讀取每一個(gè)相應(yīng)的menu對(duì)象,現(xiàn)在我想把<s:url value="<s:property value="menu.menuurl">">,報(bào)異常說少一個(gè)等號(hào),怎么把我在Action中的屬性用于生成url,從而簡(jiǎn)單的實(shí)現(xiàn)動(dòng)態(tài)生成菜單的功能?謝謝.

          # re: Struts2.0--S:URL標(biāo)簽 請(qǐng)求參數(shù)[未登錄]  回復(fù)  更多評(píng)論   

          2008-08-06 13:01 by Puras
          可以使用使用%{}
          在你說的問題里就是<s:url value="%{menu.menuurl}">

          # re: Struts2.0--S:URL標(biāo)簽 請(qǐng)求參數(shù)  回復(fù)  更多評(píng)論   

          2009-05-13 15:35 by zlfoxy
          從Struts2.0.11開始,已經(jīng)不再支持EL語(yǔ)言了?

          不是吧?el跟Struts又沒有沖突。

          posts - 47, comments - 124, trackbacks - 0, articles - 0

          Copyright © puras

          主站蜘蛛池模板: 大新县| 新密市| 莒南县| 喜德县| 安义县| 孝义市| 姜堰市| 合肥市| 乌拉特前旗| 塔河县| 洪江市| 临武县| 潢川县| 肇庆市| 锡林郭勒盟| 苍南县| 仪征市| 晋城| 池州市| 饶阳县| 南和县| 来宾市| 宣化县| 永清县| 水富县| 浙江省| 江津市| 霍林郭勒市| 平乡县| 海阳市| 仁寿县| 禄劝| 阜宁县| 化州市| 波密县| 宁夏| 富阳市| 旺苍县| 琼海市| 西宁市| 蒙自县|