在標籤之外訪問遍歷的單個物件 作用域擴充套件

2021-07-25 07:08:31 字數 1630 閱讀 3280

我們都知道,遍歷的物件是變數,作用域只能是標籤內,想要在標籤之外繼續運用遍歷的某一物件,不行!

如下:

配件模板

-- 請選擇模板 --

$

配件編號

對於上面div裡面遍歷的物件「modpart」,即當選擇某一模板時,它的配件編號不會同時取得(如選擇模板一,配件編號為001,選擇模板二,配件編號為002),因為變數「modpart」在foreach標籤外已經失效,那麼如何解決foreach作用域的問題?

有2種辦法,一種是利用ajax非同步傳送請求;二是每切換一次,動態重新整理一次頁面。顯然第一種方法好,效率高,但是**可能麻煩點。

1. 利用ajax非同步傳送請求:

配件模板

-- 請選擇模板 --

$

配件編號

在select上新增οnchange="getmodpart();" 方法,每次切換呼叫ajax非同步傳送方法,非同步重新整理,

controller在接受到請求後,呼叫處理方法,處理完成後將結果返回:

@responsebody

public mapgetmodpartbyid(@requestparam(value="partcataid") integer partcataid)

如上,因為傳送的是json資料格式,所以新增@responsebody註解,

@requestparam(value="partcataid")是傳送的data引數,

map.put("modpartcatalog", modpartcatalog);

這種方式是錯的,要將物件的具體某一屬性存進去,這樣前端才能接受到,即:

map.put("partnumber",modpartcatalog.getpartnumber());

如果還有其他的屬性,像這樣,依次put進去就可以了。

前端ajax接受返回的資料,做出處理,如下:

success : function(data)

2.每切換一次,動態重新整理一次頁面:

每切換一次,都重新傳送請求,呼叫一下頁面,

public modelandview addui(@requestparam(value="partcataid") integer partcataid)

modelandview.setviewname("admin/part/part_addui");

return modelandview;

}根據請求傳送過來的id進行查詢,然後將該物件存進request域,重新導航到新增頁面,在頁面中重新呼叫資料。頁面如下:

配件模板

-- 請選擇模板 --

$

配件編號

通過jstl獲取request域中的資料,即value="$",就可以達到上面想要的效果。這種方式實現簡單,但會降低效率。

以上就是對該問題的解決,做個記錄。

友元 在本類之外訪問本類的私有成員變數

1 我們知道,乙個類中的成員函式或是成員變數如果用private或是protected修飾,在該類以外是不能被訪問的。2 我們定義兩個類cclass a和cclass b來輔助說明,在a類中定義乙個受保護或者私有的成員變數m a 和 乙個受保護或私有的成員函式print a。如下 1 2 3 4 5...

在伺服器之外的地方訪問 MYSQL

1.修改伺服器防火牆規則iptables l 可以檢視當前的防火牆規則 iptables f 可以清空所有防火牆規則也可以通過雲伺服器的 ui 介面修改 2.確保 mysql 的監聽位址是 0.0.0.0 監聽位址是 0.0.0.0 表示該 mysql 允許所有 ip 位址進行連線,這是允許遠端連線...

18 訪問Tomcat webapps之外的檔案

然後重啟伺服器即可.但是 tomcat官方文件中說不建議這麼使用 各個context元素可以明確定義 可以定義適用於多個web應用程式的預設上下文元素。單個web應用程式的配置將覆蓋這些預設值之一中配置的所有內容。在預設上下文中定義的任何巢狀元素 例如元素 將為預設context所應用的每個cont...