Extjs mvc 模式下怎么获得后台传过来的数据。请写详细了谢谢了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Extjs mvc 模式下怎么获得后台传过来的数据。请写详细了谢谢了相关的知识,希望对你有一定的参考价值。
//---------后台groovy 代码 ---------
//路径是 : /dataImporter/upload
def dataFileId
if("gs".equals(did.getDataType()))
dataFileId = importCompany(workbook)
webReturn dataFileId
//dataFileId 数据是这样的success : true , data : 10018510
请问前台extjdmvc 怎么接收这个数据。谢谢了 要详细 ,刚接触extjs 不太懂
只需要在方法上添加注解@ResponseBody再修改方法的返回值即可。
参考下面代码:
@ResponseBody
@RequestMapping("/panel2")
public Map<String, Object> toPanel2(Model model)
System.out.println("---method:panel2");
List<User> userList=new ArrayList<User>();
User user1=new User(1,"name1","desc1","sex1");
User user2=new User(2,"name2","desc2","sex2");
userList.add(user1);
userList.add(user2);
model.addAttribute(userList);
Map<String, Object> hm = new HashMap<String,Object>();
hm.put("userList", userList);
System.out.println(hm);
//model.addAttribute(hm);
return hm;
springmvc表单提交日期格式,怎么搞
前台<input name="birthday"/>,后台Controller中的一个方法public String login(User user)....
前台birthday对应user.birthday,当然user的这个属性是Date类型,前台传过来的是字符类型,
一般情况下spring就会自动进行前后台的自动匹配,但是数据类型不一致会报错,说前台传过来的数据不合法.
只需在Controller中定义一个方法:
@InitBinder
public void initBinder(ServletRequestDataBinder binder)
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
作用即是将前台传入的String类型birthday经SimpleDateFormat转换成Date类型birthday从而和user.birthday匹配. 参考技术A 这个问题比较常见。form表单提交给后台的数据类型是string,如果实体类属性上不加数据格式转换的话会报400的错(数据类型不匹配)。
解决方法:
在实体类属性上添加:
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
private Date produceTime; // 生产时间
@JsonFormat是为了展示时添加的。
form提交采用的是My97DatePicker时间控件 参考技术B 我用xml+注解组合配置刚搞定了日期转换的问题,给楼主分享一下:
xml配置:
<mvc:annotation-driven conversion-service="conversionService"/>
注解配置(从spring.io上抄的)
@Configuration
public class AppConfig
public AppConfig()
@Bean
public FormattingConversionService conversionService()
// Use the DefaultFormattingConversionService but do not register defaults
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(false);
// Ensure @NumberFormat is still supported
conversionService.addFormatterForFieldAnnotation(new NumberFormatAnnotationFormatterFactory());
// Register date conversion with a specific global format
DateFormatterRegistrar registrar = new DateFormatterRegistrar();
registrar.setFormatter(new DateFormatter("yyyy-MM-dd"));
registrar.registerFormatters(conversionService);
return conversionService;
springmfc代码:
@RequestMapping(params="method=dt")
public void dt(Date d,HttpServletResponse req)
System.out.println(d);
以上是关于Extjs mvc 模式下怎么获得后台传过来的数据。请写详细了谢谢了的主要内容,如果未能解决你的问题,请参考以下文章