溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Struts2 iterator怎么用

發(fā)布時間:2021-12-27 09:20:59 來源:億速云 閱讀:146 作者:小新 欄目:編程語言

這篇文章主要介紹了Struts2 iterator怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、Struts2 iterator介紹.

這個標簽主要的的作用就是跌代出集合。。

value屬性表示需要跌代顯示出來的值。

status屬性,又來保存跌代時的一些狀態(tài)值。

注:1.如果需要引用valueStack中的值,需要使用這樣的形式。

//userList在action部分被保存在Request中,所以使用#加屬性名來引用值。

2.如果集合的值是通過action的方法,假設(shè)我們的action中有一個getListMenu方法,返回一個List集合。

我們可以使用如下的形式來引用這個集合,并用s:iterator來輸出。

3.Struts2 iterator的value使用定義好的方式,如:

//這樣跌代輸出的值就是1.2.3.4這四個值。

二、Struts2 iterator中輸出具體值,如果,在上面我們的list中的對象,有兩個屬性,都是String類型,一個是name,一個是url。

我們可以這樣來引用。

1.  //這樣我們將可以輸出跌代對象的name屬性值。

2. 如果我們希望使用來將跳轉(zhuǎn)過后的url進行處理,該如何來做?

//%{}ognl的表達式,這樣的值能夠?qū)rl的值進行的處理

實際上就是轉(zhuǎn)為絕對路徑。這樣,我們就可以對付一些因跳轉(zhuǎn)換產(chǎn)生的路徑問題。

原因:因為以后,當(dāng)前的對象應(yīng)該就在ValueStack頂部了,這樣當(dāng)然的url實際上就是對象的url屬性了

三、使用ognl輸出對應(yīng)的值。

使用此表達式,會生成一個文本框,并且,如果request.attribute中有l(wèi)oginNames屬性,將會做為些文本框的默認值。

如果只使用#request.loginNames在struts2的標簽內(nèi)部,是不會顯示任何值的,注意外面加上的%{}附號,才會被正常的使用。

如果希望如EL語言一樣直接輸出文件,如在一個之間的innerHTML文本為#request.loginNames的值,我們只要使用:使可以正常使用!

注:

1.${}是EL語言的 %{}這樣的形式是ognl表過式語言的,在struts2的標簽內(nèi)部,使用%{}這樣的形式,在標簽外部可以使用${}EL語言的方式。如果在struts2的標簽內(nèi)部使用${}這樣的方式,會出現(xiàn)以下的錯誤提示:

According to TLD or attribute directive in tag file, attribute value does not accept any expressions

2.很多時候,我們使用struts2的一些標簽,屬性是需要接受集合的,如果集合是保存在request,session,或者是值棧(非根對象的棧頂),可以使用#變量名的方式,如果獲取的值是在Action中通過特定的方法來獲取,就需要使用如 value="userList"這樣的方式,只是去掉了前面的#。

3.可能我對一些值棧,根對象,棧頂?shù)囊恍﹐gnl知識有些不錯誤,如果發(fā)現(xiàn)了問題,請幫助指出,謝謝。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Struts2 iterator怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI