`
44424742
  • 浏览: 232470 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

ExtJS实战(9)-疑难杂症分析

阅读更多
在做项目的过程中,难免会遇到大大小小的问题(这是好事情,要不我们怎么进步呢?),那么,我们就把一些共性的值得探讨的问题拿出来,一起分析下:

1. JS没有错误,但却一直报未结束的字符串常量

这个问题很有趣,后来发现是编码问题,在拷贝或写入中文前,写把JS文件的编码方式改为UTF-8

2.组合分页中,HibernateUnsupported method: ResultSet.absolute

我们知道这是结果集分页的方法,而JDBC的驱动是支持的。那么原因就只能是HibernatesetFirstResult()为一负值

3.combo下拉列表框问题

首先是它命名的值一直传不到服务器端,而其它控件都可以。后来才发现,它比较特别,它提交表单的名字是由hiddenName属性决定,而不是name属 性。再就是在我们的应用中有大量的下拉列表框,房屋的几室几厅,是静态的下拉框;而区域和街道的下拉列表框,却是动态的下拉框(所谓的动态,也就是里面的 数据是从服务器端得到的!),并且区域和街道还有联动效果。这里比较棘手的就是动态的下拉框,所有区域信息我们可以在一开始就从服务器端加载保存到本地, 因为查询,添加,编辑里都要用到。而街道和区域有联动关系,这个也可以通过DWR实现。最麻烦的地方在于编辑的表单显示的时候,区域和街道都要有值,也就是说在利用DWR取得某条房屋信息时,我们还要取得这条房屋信息所在区域的所有街道信息,这样才能达到我们的效果!

4.导入了汉化的JS文件,但时间控件依然没有变化。

要注意JS的导入顺序,ext-lang-zh_CN.js一定要在ext-all.js之后导入。

5.Criteria如何比较Date的大小,它能够使用统计函数吗?

这两个小问题也很值得思考Criteria里是不能使用时间函数的.那么比较日期就要使用点技巧,譬如查找<chsdate w:st="on" year="2008" month="10" day="12" islunardate="False" isrocdate="False"><span style="font-size: 9pt; font-family: Verdana;" lang="EN-US">2008-10-12</span></chsdate>日发布的租房信息。实际上就是查发布时间在<chsdate w:st="on" year="2008" month="10" day="12" islunardate="False" isrocdate="False"><span style="font-size: 9pt; font-family: Verdana;" lang="EN-US">2008-10-12</span></chsdate> 00:00:00 <chsdate w:st="on" year="2008" month="10" day="12" islunardate="False" isrocdate="False"><span style="font-size: 9pt; font-family: Verdana;" lang="EN-US">2008-10-12</span></chsdate> 23:59:59之间的房子。

hibernate 2.x版本,Criteria是不支持投影查询和统计函数的。但3.x是支持的。譬如查找hid的总记录数:setProjection(Projections.count("hid"));

6.有时候表格标题头显示不出来

可以去掉文档类型声明试一下:<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

css问题,导入的Js有顺序问题要注意!

7.不联网时s.gif图标显示不出来

因为它默认会到extjs的主页上寻找s.gif.我们可以修改ext-base.js BLANK_IMAGE_URL为本地图片路径

也可以在应用中直接加一行:Ext.BLANK_IMAGE_URL = '/youProjectName/resources/images/default/s.gif'; // 替换默认的空白图片

8.TabPanel不能添加右键菜单,也不能自动伸缩?

要想解决这样的问题,我们需要引入TabCloseMenu.js,然后在我们的TabPanel里面加一个属性plugins: new Ext.ux.TabCloseMenu()

9.表单提交url : 'house.do?param=add',在服务器端得不到参数param的值?

注意将stanrdSubmit : true去掉,因为默认它采用get方式提交。而get方式会覆盖?后面带的参数!

10.分页工具栏上如何可以定制每页显示的记录数?

要想解决这样的问题,我们可以从ext的官方论坛上下载一个扩展的插件pager.js,引入它,然后在我们的PagingToolbar 里面加一个属性plugins : new Ext.ux.Andrie.pPageSize()

11.查询表单和我们扩展的分页控件每页显示条数不一致怎么办?

我们可以借助服务器端的session区域对象保存查询表单加上PagerToolbar的一些属性,譬如cursor属性指它的游标指针(当前记录数),pageSize属性是每页的条数,store.getTotalCount是总记录数,来达到要求!

上面是我在做这个ExtJS应用时的遇到的一些小问题,和大家共同分享一下!如果大家还遇到其它细节问题,可以给我留言!

分享到:
评论

相关推荐

    Extjs实战 --- 发布小纸条

    **ExtJS实战——发布小纸条** 在Web应用开发中,ExtJS是一个强大的JavaScript库,它提供了丰富的用户界面组件和强大的数据绑定功能。本实战案例将带你深入理解如何结合ExtJS、Struts和MySQL来创建一个实用的“发布...

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...

    extjs-620-docs.zip

    extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档

    ExtJS开发实战-详解

    ExtJS开发实战 ExtJS开发实战 上传只能选资源分,没办法,我想免费分享的

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    语言程序设计资料:ExtJs学习笔记-2积分.doc

    extjs-theme-bootstrap

    "extjs-theme-bootstrap" 是针对 EXTJS4 的一个主题,它借鉴了 Bootstrap 的设计风格,让 EXTJS4 应用程序具有更加现代化和一致的外观。 Bootstrap 是一个流行的前端开发框架,由 Twitter 推出,主要用于构建响应式...

    ExtJS快速入门--传智播客--蔡世友

    ExtJS快速入门--传智播客--蔡世友

    extJs-5.0.1-gpl(part1)

    extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分

    extjs2----关于extjs 的使用,操作

    ExtJS 是一个强大的JavaScript库,专门用于构建富客户端Web应用程序。在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容...

    extjs-OA extjs-oa

    一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa

    extjs-theme-bootstrap-master.zip

    "extjs-theme-bootstrap-master.zip" 文件很可能是ExtJS的一个主题包,它集成了Bootstrap的样式,使得ExtJS组件能够呈现出Bootstrap的经典外观。 在深入讲解这个主题之前,让我们先了解一下基础概念: 1. **ExtJS*...

    Extjs6.2 生成的admin-dashboard官方模板

    Extjs6.2 生成的admin-dashboard官方模板

    ExtJS-4.2.2-gpl.rar

    本资源"ExtJS-4.2.2-gpl.rar"是ExtJS 4.2.2的开源版本,适用于GPL许可协议,包含完整的源码、示例、API文档以及相关的文档资料,对于学习和开发基于ExtJS的应用程序非常有帮助。 1. **ExtJS 4.2.2 版本详解** ...

    ExtJS----HelloWorld程序源码

    在"ExtJS----HelloWorld程序源码"中,我们将会看到如何使用ExtJS来创建一个简单的“你好,世界!”应用。以下是对这个示例中涉及的主要知识点的详细解释: 1. **引入ExtJS库**:首先,你需要在HTML文件中引入ExtJS...

    Extjs-ext-3.1.1

    licensing@extjs.com http://extjs.com/license Open Source License Ext is licensed under the terms of the Open Source GPL 3.0 license. http://www.gnu.org/licenses/gpl.html There are several FLOSS ...

    ExtJS-MVC-用户列表实例

    在本例"ExtJS-MVC-用户列表实例"中,我们将深入探讨如何利用ExtJS的Model-View-Controller(MVC)架构来创建一个用户列表应用。 MVC模式是软件工程中常用的设计模式,它将应用程序分为三个主要部分:模型(Model)...

    extjs-620-docs-离线文档

    extjs-620-docs,6.2.0离线文档,解压后可以布署到web服务器

    extjs-7.0.0-gpl

    在"extjs-7.0.0-gpl"版本中,我们看到的是ExtJS框架的一个重要里程碑,这个版本引入了许多新特性、性能优化和兼容性的提升。 1. **组件化开发**:ExtJS 7.0.0的核心是其组件化的开发模式。组件可以是按钮、表格、...

    extjs-620-docs.rar完全离线版

    此"extjs-620-docs.rar"压缩包包含了该版本的完全离线版API文档,旨在解决在没有网络连接或网络环境不稳定时,开发者仍然可以便捷地查阅和学习ExtJS 6.2.0的相关知识。 API 文档是任何开发者的重要工具,特别是对于...

Global site tag (gtag.js) - Google Analytics