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

做项目中用到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" />


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章