zheshou03 2019-11-29 19:01 采纳率: 0%
浏览 651
已结题

SpringMVC 对象直接返回到前台



import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.map.ser.CustomSerializerFactory;

public class CustomObjectMapper extends ObjectMapper{

    public CustomObjectMapper() {    
        CustomSerializerFactory factory = new CustomSerializerFactory();
        factory.addGenericMapping(Date.class, new JsonSerializer<Date>() {    
            @Override    
            public void serialize(Date value, JsonGenerator jsonGenerator,SerializerProvider provider) throws IOException, JsonProcessingException {    
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
                jsonGenerator.writeString(sdf.format(value));    
            }
        });
        factory.addGenericMapping(Long.class, new JsonSerializer<Long>() {    
            @Override    
            public void serialize(Long value, JsonGenerator jsonGenerator,SerializerProvider provider) throws IOException, JsonProcessingException {    
                jsonGenerator.writeString(String.valueOf(value));
            }
        });
        this.setSerializerFactory(factory);    
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}

做这个Spring MVC List 返回前台问题

如果是List,Long类型是能转成String的,但是如果是List Map里的Long类型,是不会转的,
这个问题很困扰,谁有比较方便的办法,
好像这个转换机制,不适合Map的

  • 写回答

1条回答

  • 雪飞梦魂天 2019-11-30 11:49
    关注

    是出参没有转换对吗?加上@ResponseBody,再在Spring MVC配置文件中配置自定义的Mapper;或者用@InitBinder试试

    <mvc:annotation-driven>
            <!--返回JavaBean时解析成Json-->
            <mvc:message-converters>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                    <property name="objectMapper">
                        <bean class="com.longke.watercleanner.converter.LongToStringMapper"/>
                    </property>
                </bean>
            </mvc:message-converters>
        </mvc:annotation-driven>
    
    
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog