在用ExtJS + struts2-json开发过程上发现日期格式与组件接受的格式不一致,不显示结果或是乱了。
现象:
因为struts2-json转换java.util.Date类的结果格式为:2010-10-25T23:12:10
我们一般在ExtJS端会使用renderer:Ext.util.Format.dateRenderer
来完成格式转换,
但是问题来了,这样的方法在FF下,是生效的,但不知道怎么了在IE下,就无效了。
经查原代码,出现在IE下是 v = new Date(Date.parse(v));
中的Date.parse
出现了问题,在IE中识别不了2010-10-25T23:12:10
格式的日期,需要转换为2010/10/25 23:12:10
形式的格式。
我只就用renderer自己写方法来完成,如下:
{header:"生日",width:80,dataIndex:"birthday",format:"Y-m-d",sortable:true,align:"center"
,renderer:function(v){
if(!v){
return "";
}
//alert(v);
v = v.replace(new RegExp("-","gm"), "/").replace("T"," ");
//alert(v);
if(!Ext.isDate(v)){
v = new Date(Date.parse(v));
}
//alert(v);
return v.dateFormat("Y-m-d");
}
},
后来发现datefield组件也是一样的,如果不处理datefield不接受数据。也是自己写了。不过这是Record中 写了。:
注意这次里是使用convert
new Ext.data.JsonReader({
root:"user"
},[
{name:"user.id",type:"int",mapping:"id"},
{name:"user.name",type:"string",mapping:"name"},
{name:"user.birthday",type:"string",dateFormat:"Y-m-d G:i:s",mapping:"birthday",
convert : function(v,rec){
if(!v){
return "";
}
v = v.replace(new RegExp("-","gm"), "/").replace("T"," ");
if(!Ext.isDate(v)){
v = new Date(Date.parse(v));
}
return v.dateFormat("Y-m-d");
}
}
]);
分享到:
相关推荐
DateTimeField是该框架中的一种组件,它允许用户同时选择日期和时间,适用于需要精确输入日期时间值的应用场景。在这个第二次修改版中,开发人员针对上一版本进行了一些优化,使代码更加简洁,并修复了已知的BUG。 ...
- **Store的作用**:解释了Store在Extjs中的角色,它是存储和管理数据的地方,可以绑定到各种UI组件上,如GridPanel等。 - **配置和使用Store**:介绍了如何创建和配置Store,以及如何将其绑定到特定的UI组件上。 - ...
4. **配置和事件处理**: 在创建这样的控件时,需要了解如何配置各个部分的显示、如何监听用户的选中事件,以及如何将选择的日期和时间数据绑定到模型或视图中。 5. **样式定制**: 为了使控件与应用的UI风格保持一致...
2. **数据绑定**:EXTJS 提供了强大的数据绑定功能,能够将UI组件与数据源紧密连接,实现数据的实时更新。这在处理大量数据和动态界面时非常有用。 3. **布局管理**:框架内建多种布局模式,如表布局、流式布局、...
系统可能使用了Store对象来存储图书数据,并与Grid或其他组件进行双向绑定,当数据变化时,UI会自动更新,反之亦然。这种数据驱动的开发模式极大地提高了开发效率。 再者,ExtJS还支持自定义主题,提供了丰富的皮肤...
2. **自定义格式**:根据不同的选择模式,控件应能显示和接受不同的日期格式。例如,当选择年月日时,日期格式可能是`YYYY-MM-DD`;当选择年月时,可能是`YYYY-MM`。 3. **验证功能**:在用户选择日期后,扩展的`...
4. **强大的数据绑定**:EXTJS的数据绑定系统可以连接到各种数据源,实现数据的实时更新。 5. **API和文档**:EXTJS提供了详尽的API文档和示例,帮助开发者快速上手。 结合EXTJS和RichFaces,开发人员可以获得一个...
它支持与各种数据源(如SQL数据库、XML、JSON等)进行无缝集成,使得数据显示和更新变得简单而高效。 2. 组件库:库中包含多种组件,如GridPanel(数据网格)、FormPanel(表单)、TreePanel(树形视图)、Chart...
在本系统中,Hibernate可能用于管理文件元数据,如文件名、大小、创建日期等,将这些信息持久化到数据库中。 **Spring**:Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)...
例如,可以设置`dataIndex`来指定数据源中的字段,设置`width`来调整列宽,使用`renderer`函数来改变数据显示格式。 3. **分页**:ExtGrid API 内置了分页功能,通过与Store结合,可以实现数据的动态加载。开发者...
3. **formatDate(value)** 函数:这是一个自定义日期格式化函数,将日期对象转换为"M d, Y"格式的字符串,便于在grid中以易读的方式显示日期。 4. **CheckboxSelectionModel(sm)**:这是EXTJS中的选择模型,允许...
- **gridJsonDataModel**:JSON数据模型,使用JSON格式的数据源。 - **gridRowNumColumn**:行号列,显示每一行的行号。 - **gridJsonData**:JSON数据,用于填充网格的数据。 - **gridSmColumn**:特殊列,具有...
5. **数据源示例**:演示如何提供数据给甘特图,通常是以JSON或其他结构化格式。 6. **交互功能**:可能支持拖放任务调整、缩放时间轴、查看任务详情等交互操作。 在实际应用中,甘特图插件可以帮助项目团队: - *...
8. **集成数据源**:EXT Gantt可以与各种数据源无缝对接,如JSON、XML或服务器API,实现动态数据更新。 9. **丰富的API和插件体系**:EXT Gantt提供了强大的API,允许开发人员根据需求添加新的功能或修改默认行为。...
- **数据绑定与处理**:支持多种数据源绑定方式,包括数据库查询结果、XML文档等,可以方便地在前端展示数据并进行编辑操作。 #### 四、Ext.NET的高级特性 - **主题和样式**:Ext.NET支持多种预定义的主题风格,...