fix json date format

This commit is contained in:
Sola
2015-12-11 18:24:11 +08:00
parent b03c2fabc0
commit 88a564e0fe
4 changed files with 23 additions and 5 deletions

View File

@@ -48,7 +48,9 @@ public class Register extends HttpServlet {
checkPhoneNumber(request.getParameter("phone")),
wechat
);
Redirect.message(response, result.equals("Register_Success") ? 1 : 0, result);
boolean isSuccess = result.equals("Register_Success");
if (isSuccess) request.getSession().invalidate();
Redirect.message(response, isSuccess ? 1 : 0, result);
}
@SuppressWarnings("Duplicates")

View File

@@ -70,6 +70,7 @@ public class TicketSubmit extends HttpServlet {
s.beginTransaction();
s.save(t);
s.getTransaction().commit();
request.getSession().invalidate();
return new Response(Response.ResponseCode.OK, t);
} catch (NumberFormatException e) {
return new Response(Response.ResponseCode.ILLEGAL_PARAMETER);

View File

@@ -1,7 +1,6 @@
package love.sola.netsupport.sql;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.*;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
@@ -9,7 +8,7 @@ import org.hibernate.service.ServiceRegistry;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.text.DateFormat;
import java.util.Date;
/**
* ***********************************************
@@ -20,7 +19,10 @@ import java.text.DateFormat;
public class SQLCore {
public static DataSource ds;
public static Gson gson = new GsonBuilder().setDateFormat(DateFormat.LONG, DateFormat.LONG).create();
public static Gson gson = new GsonBuilder()
.registerTypeAdapter(Date.class, (JsonDeserializer<Date>) (json, typeOfT, context) -> new Date(json.getAsJsonPrimitive().getAsLong()))
.registerTypeAdapter(Date.class, (JsonSerializer<Date>) (src, typeOfSrc, context) -> new JsonPrimitive(src.getTime()))
.create();
public static SessionFactory sf;
public static ServiceRegistry sr;

View File

@@ -1,8 +1,11 @@
package love.sola.netsupport.wechat;
import com.google.gson.*;
import love.sola.netsupport.config.Lang;
import org.junit.Test;
import java.util.Date;
/**
* ***********************************************
* Created by Sola on 2015/12/2.
@@ -16,4 +19,14 @@ public class TestMessageFormat {
assert Lang.messages != null;
}
@Test
public void testJsonDate() {
Gson gson = new GsonBuilder()
.registerTypeAdapter(Date.class, (JsonDeserializer<Date>) (json, typeOfT, context) -> new Date(json.getAsJsonPrimitive().getAsLong()))
.registerTypeAdapter(Date.class, (JsonSerializer<Date>) (src, typeOfSrc, context) -> new JsonPrimitive(src.getTime()))
.create();
Date date = new Date();
assert gson.fromJson(gson.toJson(date), Date.class).compareTo(date) == 0;
}
}