後臺傳遞java對象給前臺
使用JSONObject對象,要導入包,在網上json有很多中,我用的是org.json包,Maven引入
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
JSONObject的一個構造函數可以將javaBean轉換爲json對象
//構造函數
JSONOject jsonObject = new JSONObject(Object obj);
//toString() 轉換成json字符串就可以以字符串的形式傳遞到前臺
//好像可以直接傳遞json對象
String str = jsonObject.toString();
//前臺再將json字符串轉換成json對象就可以獲取其中的值了
<script>
function fn(){
//jquery封裝的post方法
$.post("url", {}, function(data){
var obj = JSON.parse(data);
})
}
</script>
jsp作用域裏面的值作爲onclick的參數
使用jstl獲取session中的值作爲onclick()的參數
//假設session中有一個對象User
class User {
private int id = 1;
private String name = "jstl";
private User user ;
}
//jstl全名加Java server pages standarded tag library,它運行再服務器端,在服務器端會解析所有的jstl標籤,將它代表的值填入到html中的相應位置
比如
<a href="#" οnclick="back(${User.id })"></a>
解析之後
<a href="#" οnclick="back(1)"></a>
這時html可以識別並把數字1傳遞給函數
如果
<a href="#" οnclick="back(${User.jstl })"></a>
解析之後
<a href="#" οnclick="back(jstl)"></a>
html會把jstl當成一個變量,然而並沒有聲明名爲jstl的變量,所以會報undefined
當傳遞的時字符串時可以在加單引號
如果是對象,解析之後是該對象調用toString方法之後的字符串。