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