jsp中如何将Java对象转成js对象?
1、首先我们要明确 jsp页面Java对象如何和js进行交换。
是通过jsp表达式也就<%=%>,它可以写在jsp页面的任何地方,当然可以写在JavaScript中,但是jsp表达式最终输出都是字符串形式。
2、对象字符串如何转成js对象?
首先我们肯定想到的是JSON.parse()方法,但是方法参数为js对象的字符串形式才可解析为js对象。当然我们可以重写Java对象的toString方法返回js对象的字符串形式然后使用JSON.parse方法,但是太麻烦了。当然还有更好的方法,使用net.sf.json.JSONObject对象,将Java对象转成JSONObject对象该对象的toString方法就是JSON对象的字符串表现形式。
3、举例
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.szjz.common.entity.UserInfo"%>
<%@ page import="net.sf.json.JSONObject"%>
<%
UserInfo userInfoObj = new UserInfo();
userInfoObj.setUserName("Laymond");
userInfoObj.setLoginName("鲁肃");
String userInfo = JSONObject.fromObject(userInfoObj).toString();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script>
var userObj = JSON.parse('<%=userInfo%>');
</script>
</head>
<body>
将Java对象转成js对象
</body>
</html>
验证结果截图: