---sql的函数的使用(Oracle)
---dual的使用:哑元表:没有表需要查询的时候 可以用它
---select 'Hello World' from dual; ---结果:Hello World
---单行函数:单行
1.日期函数:系统时间:sysdate---select sysdate from dual; ---当前的系统时间---结果:2010-05-14
sysdate+(-)整数的含义---select sysdate+1 from dual; ---当前系统日期的后一天---结果:2010-05-15
---select sysdate-7 from dual; ---当前系统日期的上一周---结果 ......
使用原始的XMLHttpRequest发出请求时,只能对Servlet和JSP操作
在JSP中创建3个function
1.createXmlHttpRequest----负责判断浏览器类型创建 XMLHttpRequest对象
var xmlHttpRequest;
function createXMLHttpRequest(){
// IE 浏览器
if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
// 非IE浏览器
return new XMLHttpRequest();
}
}
2.doLogin------负责更加创建好的XMLHttpRequest对象发出请求
function doLogin(obj){
var url = "servlet/LoginServlet?userName="+obj.value;
// 1. 创建XMLHttpRequest组件
xmlHttpRequest = createXMLHttpRequest();
// 2. 设置回调函数
&n ......
我的春秋痴梦第二步:
写一个 通用的 对象 列表 ,还 包含 搜索和 属性过滤。
具体的效果是:
当新 业务 添加一个 表的时候,只需要在 对象模型里的 添加一个 model
后台几乎不需写代码。
(我是后台:激动人心!)
调用的对象,第几页,属性的 过滤 和搜索全是 前台的Ajax参数控制
(我是前台:#$!@#$%$^#$%# )
下面说说我的思路吧:
1.前台发出请求 写明 调用的 modleName 和 一些属性 的过滤
如:Author like,1 ModelName Article 搜索作者 包含 1 对象名 文章
2.后台接受 处理传递的参数
3.根据 对象名 调用 对象 并过滤
4.根据 对象名 返回 对应 页面
1.前台JS 代码
前台代码
//================================================
//后台任一 类型 列表
//================================================
function AjaxForList(duixiang, pageid) {
var searchWords = $("#SearchWords").val();
var searchType = $("#SearchType").val();
var channelId = $("#list").val();
var IsRecycle = $("#IsRecycle").attr("checked");
//排序名
var sor ......
Case I. Web代理的方式 (on Server A)
即用户访问A网站时所产生的对B网站的跨域访问请求均提交到A网站的指定页面,由该页面代替用户页面完成交互,从而返回合适的结果。此方案可以解决现阶段所能够想到的多数跨域访问问题,但要求A网站提供Web代理的支持,因此A网站与B网站之间必须是紧密协作的,且每次交互过程,A网站的服务器负担增加,且无法代用户保存session状态。
Case II. on-Demand方式 (on Server A)
MYMSN的门户就用的这种方式,不过 MYMSN中不涉及跨域访问问题。在页面内动态生成新的<script>,将其src属性指向别的网站的网址,这个网址返回的内容必须是合法的Javascript脚本,常用的是JSON消息。此方案存在的缺陷是, script的src属性完成该调用时采取的方式时get方式,如果请求时传递的字符串过大时,可能会无法正常运行。不过此方案非常适合聚合类门户使用。
<html>
<head>
<script language="javascript" type="text/javascript">
function loadContent()
{
var s=document.createElement('SCRIPT');
s.src='http://www.anotherdomain.com/TestCrossJS.aspx?f=setDivContent';
document.body.appendChild(s);
} function ......
ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);//p1是updatepanel的id
ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);//p1是updatepanel的id
......
ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);//p1是updatepanel的id
ScriptManager.RegisterStartupScript(p1, this.GetType(), "click", "alert('ok')", true);//p1是updatepanel的id
......
视频下载地址
: http://dwz.duqn.com/doc/dwz-ajax-develop.swf
ajax 表单提交、分页组件
大家在使用DWZ框架过程中遇到问题最多的也是ajax表单提交处理流程、分页组件问题。本教材主要是讲解DWZ框架表单提交、分页等ajax交互原理和规范。DWZ其它组件这里不再讲解了,大家去看DWZ用户手册,特别是第一次使用一定要看用户手册中的 “常见问题及解决”。
实际上使用DWZ框架是非常简单方便的。开发人员基本不需自己写JS,包括ajax表单提交、分页组件。
信息列表上查询和分页都是用一个pagerForm来临时存查询条件。需要在每个查询列表页面加个隐藏的pagerForm。
分页或删除列表中的数据等操作都会重新载入当前navTab或dialog。原理很简单就是DWZ框架自动组装这个pagerForm中的参数后重新载入
当前navTab或dialog。
表单提交根据服务器端返回的json结构,有以下几种处理流程:
1) statusCode==300表示操作失败,提示用户出错原因message
2)
statusCode==200表示操作成功,提示message
navTabId非空,重新载入指定的navTab
callbackType=="closeCurrent"关闭当前form所在的nab ......