Struts2中s set標籤和s if標籤小結

2021-05-27 04:40:43 字數 4387 閱讀 7154

今天自己做乙個小專案前端頁面展示用到

strut2

標籤,期間遇到一些小的問題,在網上查詢,現總結如下:

注:本文摘於:

1、s:set標籤

格式:<

s:set 

name

="" 

value

="" scope=」」

/>

說明:把

jsp頁面中的乙個值,以

name

儲存起來。

scope

儲存的範圍是在

、session

、request

、page

……。預設是儲存在該

action中。

用法①:

<

s:set 

name

="milolist" 

value=""

/>

這個值是乙個

list

容器,迭代使用

s:iterator

標籤,notice

list

、set

容器不加

」#」,

map要加

」#」;

用法②:

<

s:set 

name

="milonum" 

value

="24"

/>

notice:這個是整形,如果

value

的值是int

或long

型別,那麼就要在輸出的時候加

#,把它當作字串輸出,預設是以字串輸出.

輸出:<

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"

/>

notice

:attr.***

預設是從

2、s:if標籤

對於s:if

標籤的用法,我這裡不做具體的說明,因為在網上都能查詢到,而且在前面的struts2 -- s:if

標籤的使用

中已經說明過了,這裡我只說明一下我在專案實踐中遇到的問題,如下: ①

假設在request

中有個checkstatus

屬性(這裡表示為審批狀態),有這樣乙個需求,如果

checkstatus

的值為』00』

表示未審批,

』01』

表示已審批,那麼根據

checkstatus

的值,在頁面上顯示未審批或已審批。

我的頁面**如下:

<

s:if 

test

="#request.checkstatus == 『00』"

/>

未審批

已審批

按理說,這樣應該能達到要求,但是結果往往不能如你所願,我用了很多的表示式方法,都沒能成功,最後我在

action

處理checkstatus

,將其轉換為中文,然後直接在頁面上輸出,從中得到啟示,原因是因為我的

checkstatus

的值是從資料庫中取出來的,而在資料庫中

checkstatus

的型別為

char(6)

,在資料庫裡面有這樣的規定如果是

char

型,那麼你定義的長度是多長就是多長,所以我在頁面上用

#request.checkstatus

的長度也應該是6,而

』00』

的長度顯然為

2,這兩個值顯然不相等,因此此問題的解決方法為:

法①在action

處理checkstatus

用string

的trim()

方法;

法②修改資料庫欄位為

varchar

型別;

但個人認為,對於某個**表示某些值如:

』00』

表示:否

,』01』

表示:是,應該建立乙個分類**表,在資料庫中統一管理。 ②

s:set

和s:if

的應用例項

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"

/>

/>

Struts2中s set標籤和s if標籤小結

引言 今天自己做乙個 b2c的小專案前端頁面展示用到 strut2 標籤,期間遇到一些小的問題,在網上查詢,現總結如下 1 s set標籤 格式 s set name value scope 用法 s set name milolist value 這個值是乙個list容器,迭代使用s iterat...

struts2標籤簡介

用過struts1.x的人都知道,標籤庫有html bean logic tiles,而struts2.0裡的標籤卻沒有分類,只用在jsp標頭檔案加上 taglib prefix s uri struts tags 就能使用struts2.0的標籤庫 下面就介紹下每個標籤的用法 有錯請指正 a 超連...

struts2標籤解釋

a 超連結,類似於html裡的 雙下拉框 e 這3個標籤一起使用,表示條件判斷 f 顯示檔案錯誤資訊 檔案上傳 獲取相應form的值 g 和標籤一起使用 h 在裡使用,表示標頭檔案結束 隱藏值 i 載入資源包到值堆疊 包含乙個輸出,servlet或jsp頁面 獲取form的乙個輸入 用於遍歷集合 l...