easyui combox 后台获取json,前台显示,报406错误

在使用EasyUI Combobox时遇到406错误,问题出在后台返回的JSON数据与前端接收格式不匹配。解决方法包括在Spring MVC配置中启用注解驱动,设置MappingJackson2HttpMessageConverter支持的MediaType,添加Jackson相关jar包,并更新前端Combobox的默认值设置。通过这些步骤,成功实现了后台获取JSON数据并在前端Combobox中显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目中用到easyui


第一种

后台写法


用到webclient取到值,注意Json2Bean.getListBean方法是自己写的装换为list的方法

末尾将list装换为json格式。

@RequestMapping(value="text",produces="text/html;charset=UTF-8")
    @ResponseBody
    public String text() {

        SysBankWebClient webclient = WebClient.get(SysBankWebClient.class);
        List<Bank> bank = Json2Bean.getListBean(webclient.getAll(),Bank.class);
        System.out.println(bank.toString());
        return bank.toString();
    }   


前台写法

<input class="easyui-combobox" data-options="valueField:'id',textField:'name',url:'${ctx}/XinxiluruController/text.do'" />


第二种

后台写法


这个写法是直接拿到的list的值,再返回页面的话回报406的错误

@RequestMapping(value="text")
    @ResponseBody
    public  List<Bank> text() {

        SysBankWebClient webclient = WebClient.get(SysBankWebClient.class);
        List<Bank> bank = Json2Bean.getListBean(webclient.getAll(),Bank.class);
        System.out.println(bank.toString());
        return bank();

    }  


解决办法

在spring-mvc里面加入

1、开启注解
<mvc:annotation-driven />

2、<!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
    <bean id="mappingJacksonHttpMessageConverter"
        class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
            </list>
        </property>
    </bean>

    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter" /><!-- json转换器 -->
            </list>
        </property>
    </bean>


3、添加jar
jackson-core-2.4.1.jar

jackson-annotations-2.4.1.jar

jackson-databind-2.4.1.jar


如果用的是maven的框架

加入jar包的方式如下

  <dependency>  
                  <groupId>com.fasterxml.jackson.jaxrs</groupId>  
                  <artifactId>jackson-jaxrs-xml-provider</artifactId>  
                  <version>2.5.2</version>  
    </dependency>  
      
    <dependency>    
                <groupId>com.fasterxml.jackson.core</groupId>    
                <artifactId>jackson-core</artifactId>    
                <version>2.5.2</version>    
    </dependency>    
      
    <dependency>    
                <groupId>com.fasterxml.jackson.core</groupId>    
                <artifactId>jackson-databind</artifactId>    
                <version>2.5.2</version>    
    </dependency>    
      
    <dependency>  
                <groupId>com.fasterxml.jackson.core</groupId>  
                <artifactId>jackson-annotations</artifactId>  
                <version>2.5.2</version>  
    </dependency> 


前台写法

前台写法还是一样的写法


成功之后用火狐查看可以看到


结果显示如图


如果想要默认的选项为第一个的话

<input class="easyui-combobox" data-options="valueField:'id',textField:'name',url:'${ctx}/XinxiluruController/text.do'" />

将页面显示的改为:

<input class="easyui-combobox" data-options="valueField:'id',textField:'name',url:'${ctx}/XinxiluruController/text.do',value:'1'ss" />


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值