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" />


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