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 不太懂

参考技术A extjs是一个前台的组件化的框架,在使用extjs组件时比如datagrid,会有一个url的配置参数,运行时自动请求你这个url,只要你后台传递过来的数据正确会自动显示出来 参考技术B 你好!
只需要在方法上添加注解@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 模式下怎么获得后台传过来的数据。请写详细了谢谢了的主要内容,如果未能解决你的问题,请参考以下文章

springmvc表单提交日期格式,怎么搞

java后台怎么接收并解析前台传过来的json-CSDN论坛

前台js如何获取后台传过来的list数据?

如何用JavaScript获得后台传过来的参数

如何用JavaScript获得后台传过来的参数

java后台怎么接收并解析前台传过来的json