後臺傳遞java對象給前臺和jsp作用域裏面的值作爲onclick的參數

後臺傳遞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方法之後的字符串。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章