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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

s:set标签的用法

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 s:set标签的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、??s:set標簽

格式:<s:set?name=""?value="" scope=””/>

說明:把jsp頁面中的一個值,以name存儲起來。Scope存儲的范圍是在applicationsessionrequestpage……。默認是存儲在該action中。

用法①:<s:set?name="miloList"?value="{‘java’,’php’,’C#’}"/>

這個值是一個list容器,迭代使用s:iterator標簽,Noticelistset容器不加”#”map要加”#”;

用法②:<s:set?name="miloNum"?value="24"/>

Notice:這個是整形,如果value的值是intlong類型,那么就要在輸出的時候加#,把它當作字符串輸出,默認是以字符串輸出.

輸出:<s:property?value="#miloNum"/>

那么如果value是字符串呢?

<s:set?name="miloStr"?value="’24’"/>

Notice:這個是字符串,value中的字符串要加上單引號(‘),這樣才說明是字符串。

輸出:<s:property?value="miloStr"/>

用法③:用scope屬性說明存儲范圍

request<s:set?name="miloVal"?value="'24'" scope="request"/>

輸出:<s:property?value="#request.miloVal"/>

session<s:set?name="miloVal"?value="'24'" scope="session"/>

??????輸出:<s:property?value="#session.miloVal"/>

page<s:set?name="miloVal"?value="'24'" scope="page"/>

輸出:<s:property?value="#attr.minVal"/>

Noticeattr.***默認是從?page, request, session, then application scopes

?

2、??s:if標簽

對于s:if標簽的用法,我這里不做具體的說明,因為在網上都能查找到,而且在前面的Struts2 -- s:if標簽的使用中已經說明過了,這里我只說明一下我在項目實踐中遇到的問題,如下:

?????假設在request中有個checkStatus屬性(這里表示為審批狀態),有這樣一個需求,如果checkStatus的值為’00’表示未審批,’01’表示已審批,那么根據checkStatus的值,在頁面上顯示未審批或已審批。

我的頁面代碼如下:

<s:if?test="#request.checkStatus == ‘00’"/>未審批</s:if>

<s:else>已審批</s:else>

按理說,這樣應該能達到要求,但是結果往往不能如你所愿,我用了很多的表達式方法,都沒能成功,最后我在Action處理checkStatus,將其轉換為中文,然后直接在頁面上輸出,從中得到啟示,原因是因為我的checkStatus的值是從數據庫中取出來的,而在數據庫中checkStatus的類型為Char(6),在數據庫里面有這樣的規定如果是char型,那么你定義的長度是多長就是多長,所以我在頁面上用#request.checkStatus的長度也應該是6,’00’的長度顯然為2,這兩個值顯然不相等,因此此問題的解決方法為:

法①在Action處理checkStatusStringtrim()方法;

法②修改數據庫字段為varChar類型;

但個人認為,對于某個代碼表示某些值如:’00’表示:否,’01’表示:是,應該建立一個分類代碼表,在數據庫中統一管理。

?????s:sets:if的應用實例

<s:iterator?value="#request['orderMap']"?status="st">

<s:if?test="checkSataus == '00'">

<s:set?name="disabled"?value="''"?/>

<s:if?test="#st.index == 0">

<s:set?name="checked"?value="'checked'"?/>

</s:if>

<s:else>

<s:set?name="checked"?value="''"?/>

</s:else>

</s:if>

<s:else>

<s:set?name="disabled"?value="'disabled'"?/>

<s:set?name="checked"?value="''"?/>

</s:else>

?

<input?type="radio"?name="orderid"?value='<s:property?value="order.orderid"/>'

<s:property?value="disabled"/>?<s:property?value="checked"/>?/>

</s: iterator>

總結

以上是生活随笔為你收集整理的s:set标签的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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