SSH框架+EL表示式—jsp跨介面傳值顯示
阿新 • • 發佈:2019-01-01
最近做專案涉及到跨介面傳值的問題,對於Java語言來講,相比之前的.net傳值,其實就是語言環境的改變而已。直接看專案demo傳值:
介面一:
編寫的js程式碼,直接用window.location.href的方式跳轉頁面,然後附帶傳值過去就行。
需求:在介面有有一個table頁面,將其單擊一行,傳值到另一個頁面的新增彈出框中,賦值顯示。
js程式碼:
$("#table-methods-table1") .bootstrapTable( { onClickRow : function(row, $element) { alert(row.id); // 將ID附帶介面跳轉傳到下一個介面 window.location.href = '${pageContext.request.contextPath}/crewDevelop_developDetailsInter.action?id=' + row.id //單擊行的id賦值 + '&mark=' + row.mark //單擊行的mark賦值 + '&name=' + row.name + '&returnValue=' + row.returnValue; } });
介面二:
通過介面一傳過來的連結附帶傳值的資訊將在連線框中顯示出來,就是有什麼值可以直接看到,
這樣在JSp的相對應的位置,可以通過Value屬性,對每一個相對應的控制元件賦值顯示,在我的專案中,是需要在我的彈出框新增的頁面中將其賦值給我的前三行,取值的方式其實很簡單因為欄位值已經跟隨賦值頁面傳過來了,所以我們缺少的只是一個接收工具,在這裡我們採用S{}的方式來接收對應的值,看我的彈出框部分控制元件程式碼:
最後的效果顯示:<span style="white-space:pre"> </span><div> <span style="white-space:pre"> </span><label for="name">引數資訊</label> <input type="text" id="nameAccording" name="nameAccording" class="form-control" style="width:180px;" value="${name}" /> </div> <div> <label for="name">返回值</label> <input type="text" id="returnValueAccording" name="returnValueAccording" class="form-control" style="width:180px;" value="${returnValue}" /> </div> <div class="form-group"> <label for="name">介面描述</label> <textarea class="form-control" rows="3" name="markAccording">${mark}</textarea> </div>
看圖中紅色標記部分,則是連結帶過來的值找到了對應的位置顯示出來。我這個是一個彈出框顯示,之前還想了很多種辦法,但是後來仔細一思想,其實思路很簡單,因為彈出框也是附屬於同一個介面,意思就是說只要是同一個水平面的(同一個jsp中)都可以複製成功,不管是彈出框 還是table等都可接收到資訊值。
補充知識:${}
目的:為了使JSP頁面編寫起來更簡單
語法格式:${識別符號}
最大的缺陷:要明白${}是來完成什麼任務的,他只能用來輔助讀取值,而不能去賦值。
--知識慢慢積累,繼續前行自己的腳步