jquery+ajax无刷新翻页
前台自定义通用分页jquery插件
(一)框架:用jquery+ajax+struts1实现 自动创建行和列
持久层用的是abatis.数据库用的是MySQL.
(二)sqlMap
shangjia.xml的配置如下
<resultMap class="java.util.LinkedHashMap" id="storeMap">
<result property="sto_id" column="sto_id"/>
<result property="sto_name" column="sto_name"/>
<result property="sto_contactphone" column="sto_contactphone"/>
<result property="sto_time" column="sto_time" javaType="string"/>
</resultMap>
<statement id="selectListStore" resultMap="storeMap" parameterClass="com.tj_zhongzhixin.common.util.PageResult" >
select sto_id,sto_name,sto_contactphone,sto_time from store limit #pageSize# offset #throwRows#
</statement>
小提示:为什么不用实体类映射
我之所以不用实体类映射(就是将resultMap的Class设成实体类),是因为自动生成的表格的行是根据集合中Map的个数决定的,而表格的列是根据集合中Map的键值对的个数决定的,所以如果用实体类映射的话自动生成的表格的列就要按照实体类的属性的个数决定。而不论你的sql语句是否是查询所有的属性,都会封装到Map中实体类里。这样就不能的到实际查询的属性,而是所有的属性。
小提示:为什么要用LinkedHashMap
当我运行页面是准确的显示出了我在sql中制定的属性,而不是所有的属性。但是有出现了一个问题就是:它的顺寻跟我在sql中指定的查询不一致(起初结果集封装到了HashMap中)。原来HashMap集合会自动给值排序,后发现LinkedHashMap不会自动排序。所以就选择了LinkedHashMap
(三)query
jQuery.searchByPage.js
//jQuery提交请求数据
/*actionName为要跳转到的action的name
*param为页面参数(包括struts-config.xml中的parameter和其值,页数,每页显示的条数,查询的条件)
*options为操作的图标信息
*/
(functio
相关文档:
Ajax调用远程服务器数据会出现拒绝访问的问题。这是因为基于安全的考虑,AJAX只能访问本域下的资源,而不能跨域访问。也就是说,domain1.com站点中的AJAX只能访问domain1.com站点下的资源,而不能跨域访问domain2.com站点中的资源,这就是AJAX跨域问题。
解决思路:页面在提交请求时 ......
事件触发:
<input name="keyword" onkeyup="LoadResults(this.value)" id="keyword" runat="server"/>
客户端主体:
//定义用户控件ID全局变量
var ClientID;
function ShowDiv(divid)
{
//...
}
function HideDiv(divid)
{
//...
}
//页面加载时的处理
function BodyLoad()
{
HideD ......
检查前台FCK自动生成的JS函数.一般为WebForm_OnSubmit()
在后台提交按钮里加入该函数.另其更新FCK数据,代码如下.
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "getFckValue", "WebForm_OnSubmit();", true); ......
四、DOM
1.DOM概述
XHR对象提供了跟服务器通讯的能力,而DOM提供了访问、动态更新页面的能力。
DOM是W3C推出的文档对象模型,是表示文档和访问、操作构成文档的各种元素的API,被定义为独立于语言的标准,在javascript和java以及其他语言中都有实现。
在DOM中,HTML文档的层次机构被表示为树形结构,树的节点表示文档中 ......