我們都知道,遍歷的物件是變數,作用域只能是標籤內,想要在標籤之外繼續運用遍歷的某一物件,不行!
如下:
配件模板
-- 請選擇模板 --
$
配件編號
對於上面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...