JSON是一种轻量级的数据交换格式,因为其高性能、可读性强的原因,成为了现阶段web开发中前后端交互数据的主要数据格式,那javabean怎么转成json键值对?下面来我们就来给大家讲解一下。
javabean是在jsp页面中,包含html代码、css代码、java代码、以及业务逻辑处理代码等。javabean的作用就是将html代码与java代码分离,**将java代码单独封装成一个处理某种业务逻辑的类**,然后在jsp中调用该类,实现降低耦合多和简化页面的作用。
javabean是特殊的java类,具有以下特征:
提供一个默认的无参构造函数。
需要被序列化并且实现了 Serializable 接口。
可能有一系列的 getter 或 setter 方法,决定了读、写属性。
用途:实现一些业务逻辑或封装一些业务对象。例如:字符串处理、数据库操作等。
javabean常用操作:
访问javaBean
访问javaBean的属性信息
使用< jsp:setProperty/ >标签来调用setter方法。
其中property="*" 所有名字和bean属性名匹配的请求参数,都会使用set方法为后者赋值。
value="<%=变量名%>"自定义赋值
pram="requset中参数名" requeset参数赋值
使用< jsp:getProperty/ > 调用getter方法。
实例:
step1:建立javabean(class文件,具有getter、setter和默认构造方法)
package com.mail.bean; public class Email { private String mailAdd; private boolean test; public Email() {} public Email(String mailAdd) { this.mailAdd = mailAdd; } public boolean isEamil() { // 正则表达式,定义邮箱格式 String regex = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"; // matches()方法可判断字符串是否与正则表达式匹配 if (mailAdd.matches(regex)) { test = true; } return test; } public String getMailAdd() { return mailAdd; } public void setMailAdd(String mailAdd) { this.mailAdd = mailAdd; } }
<!-- 输入邮箱 --> <%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8"%> <!DOCTYPE html> <html> <head> <meta charset="utf8"> <title>Insert title here</title> </head> <body> <form action="check.jsp"method="get" > <input type="text" id="email" name="email"> <input type="submit" name="sumit" value="提交"> </form> </body> </html>
<!-- 验证邮箱 --> <%@ page language="java" contentType="text/html; charset=utf8" pageEncoding="utf8"%> <!DOCTYPE html> <html> <head> <meta charset="utf8"> </head> <% String s=request.getParameter("email"); %> <jsp:useBean id="email" class="com.mail.bean.Email"></jsp:useBean> <jsp:setProperty name="email" property="mailAdd" value="<%=s %>"/> <body> <jsp:getProperty name="email" property="mailAdd"/> <% if(email.isEamil()){ out.print("是正确格式的邮箱。"); }else{ out.print("不是正确格式的邮箱。"); } %> </body> </html>
遇见的Bug
没有定义无参数构造函数
方法一:通过java对象转成String再转成JSONObject
package com.handoop.gms.utils; import com.alibaba.fastjson.JSONObject; import com.handoop.gms.domain.User; public class TestMain { public static void main(String[] args) { //先通过构造函数初始化一个对象 User user = new User((long) 1, "admin", "admin", "张三", true, "123456"); //先将java对象转为String类型 String jsonString = JSONObject.toJSONString(user); //再将String类型转为JSONObject JSONObject jsonObject = JSONObject.parseObject(jsonString); System.out.println(jsonObject); //转为JSONObject后就可以随时根据键值获取他的元素了 System.out.println(jsonObject.get("password")); } }
运行结果
方法2:java对象直接转json
package com.handoop.gms.utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.handoop.gms.domain.User; public class TestMain { public static void main(String[] args) { //先通过构造函数初始化一个对象 User user = new User((long) 1, "admin", "admin", "张三", true, "123456"); JSONObject jsonObject = (JSONObject) JSONObject.toJSON(user); System.out.println(jsonObject); } }
运行结果
javabean是特殊的java类,经常会用到与json之间的转换,因此我们需要掌握好它的使用方法,以便更好的开发!最后大家如果想要了解更多其他工具教程知识,敬请关注奇Q工具网。
推荐阅读: