如何学好java

如何学好java,其实很简单,只要用心体会,慢慢积累!
posts - 106, comments - 7, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2011年12月5日

http://www.luocong.com/dsaanotes/index-Z-H-1.htm

posted @ 2014-01-02 22:50 哈希 阅读(132) | 评论 (0)编辑 收藏

     摘要: 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。   冒泡排序算法的运作如下:  比较相邻的元素。如果第一个比第二个大,就交换他们...  阅读全文

posted @ 2014-01-02 22:32 哈希 阅读(189) | 评论 (0)编辑 收藏

http://www.cnblogs.com/szfei/archive/2012/08/08/2628208.html    hashmap遍历

posted @ 2012-12-22 10:45 哈希 阅读(152) | 评论 (0)编辑 收藏

基本介绍:
          showModalDialog()         (IE 4+ 支持)
          showModelessDialog()      (IE 5+ 支持)
          window.showModalDialog()                  方法用来创建一个显示HTML内容的模态对话框。
          window.showModelessDialog()             方法用来创建一个显示HTML内容的非模态对话框。
使用方法:
          vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])
          vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])
参数说明:
         sURL          --  必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
         vArguments    -- 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过
 

                          window.dialogArguments来取得传递进来的参数。
         sFeatures     -- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
----------------
1.    dialogHeight:    对话框高度,不小于100px
2.    dialogWidth:    对话框宽度。
3.    dialogLeft:     离屏幕左的距离。
4.    dialogTop:     离屏幕上的距离。
5.    center:          { yes | no | 1 | 0 } :              是否居中,默认yes,但仍可以指定高度和宽度。
6.    help:             {yes | no | 1 | 0 }:                是否显示帮助按钮,默认yes。
7.    resizable:       {yes | no | 1 | 0 } [IE5+]:     是否可被改变大小。默认no。
8.    status:          {yes | no | 1 | 0 } [IE5+]:      是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
9.    scroll:            { yes | no | 1 | 0 | on | off }:是否显示滚动条。默认为yes。

下面几个属性是用在HTA中的,在一般的网页中一般不使用。
10.    dialogHide:{ yes | no | 1 | 0 | on | off }:在
打印或者打印预览时对话框是否隐藏。默认为no。
11.    edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
12.    unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。

参数传递:
1. 要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
-------------------------------
parent.htm
<script>
          var obj = new Object();
          obj.name="51js";
          window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");
</script>
modal.htm
<script>
          var obj = window.dialogArguments
          alert("您传递的参数为:" + obj.name)
</script>
-------------------------------
2.可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
------------------------------
parent.htm
<script>
          str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");
          alert(str);
</script>
modal.htm
<script>
          window.returnValue="http://homepage.yesky.com";
</script>

常见技巧:

一、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
  在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<head>之间的。

二、怎样才刷新showModalDialog和showModelessDialog里的内容?
  在showModalDialog和showModelessDialog里是不能按F5刷新的,又不能弹出菜单。这个只能依靠

javascript了,以下是相关代码:

<body onkeydown="if (event.keyCode==116){reload.click()}">
<a id="reload" href="filename.htm" style="display:none">reload...</a>

  将filename.htm替换成网页的名字然后将它放到你打开的网页里,按F5就可以刷新了,注意,这个要

配合<base target="_self">使用,不然你按下F5会弹出新窗口的。

三、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。
  <input type="button" value="关闭" onclick="window.close()">
  也要配合<base target="_self">,不然会打开一个新的IE窗口,然后再关掉的。

四、Math.random与showModalDialog。

   当你设置的弹出网页固定时(如上面的"modal.htm"页面),ie很可能到临时文件区,下载上次产生的该页面(openPage.html),而没有重新加载,

   对于动态加载的页面来说,这样往往产生误会,如没有及时更新数据,也就更不利于开发者测试。所以,你可以采用如下方式:

      var strPage = “/medal.htm?random="+Math.random();

   这样每次产生的strPage是不一样的,原因也就不言自明了。

 

下面举两个例子

一、返回一个字符串

首先是父页面有个按钮,用来打开Modal页面userList.aspx

复制代码
 function openWin()
    {
         str =window.showModalDialog("userList.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px");

        if(str!=undefined && typeof(str)!=undefined && str!="undefined" && str!="")
        {
          document.getElementById("txtuserid").value=str;
        }else
        {
         document.getElementById("txtuserid").value="";
        }
    }
复制代码

str就是子页面返回过来的数据,我们把它添加到父类的一个表单元素中

子页面

    function getValue()
        {          
         var selectValue=$(":radio:checked").val();
         window.returnValue=selectValue;
         window.close();
        }

在这里我们把子页面里的值返回到父页面里就可以了,然后关闭页面就可以了

二、返回一个数据

父页面

复制代码
     function openWin()
     {
 
        array =window.showModalDialog("demo2.aspx",window,"status:0;help:0;edge:sunken;dialogWidth=700px;dialogHeight=400px;scroll:no");
       
          document.getElementById("username").value=array[0];
          document.getElementById("sex").value=array[0];
         
     
    }
复制代码

子页面

 

复制代码
   function getValue()
       {
         var array=new Array();
         
         array[0]=document.getElementById("username").value;
         Array[1]=document.getElementById("sex").value;
         window.returnValue=array;
         window.close();
       }
复制代码

返回一个数组就可以了,如果用open打开的话,在搜狗或者360浏览器打开的是一个页面或者阻拦什么的

 前段时间在后台使用JS的winodw.showModalDialog来查看静态页面内容,发现不能及时显示更新后的页面内容,用open打开有时也会出现这种问题

解决办法 
  window.showModalDialog(getUrl+"?Rnd="+Math.random(),"","dialogWidth:600px;dialogHeight:400px;help:no;scroll:yes;center:yes;status:no;");
这样就不会有缓存了

多思考,多创新,才是正道!

posted @ 2012-11-26 12:51 哈希 阅读(904) | 评论 (1)编辑 收藏

1.判断select选项中 是否存在Value="paraValue"的Item 
$("#selectid option[@value='paraValue']").length>0
2.向select选项中 加入一个Item 
$("#selectid").append("<option value=''>1111<option>");
3.从select选项中 删除一个Item 
$("#selectid").remove("<option value=''>1111<option>");
4.修改select选项中 value="paraValue"的text为"paraText" 
$("#selectid option:selected").attr("value","paraValue").attr("text","paraText");
5. 设置select中text="paraText"的第一个Item为选中 
$("#selectid option[@text='paraText']").attr("selected","true")
6.设置select中 value="paraValue"的Item为选中 
$("#selectid option[@value='paraValue']").attr("selected","true")

7.设置select中第一 个Item为选中 
$("#selectid option").eq(0).attr('selected', 'true');

8. 得到select的当前选中项的value 
$("#selectid").val();
9.得到select的当前选中项的text 
$("#selectid").text();
10. 得到select的当前选中项的Index 
document.getElementById("select1").selectedIndex;
$("#selectid").get(0).selectedIndex
11. 清空select的项
$("#selectid").empty();

JS版本的:

  • //1.判断select选项中 是否存在Value="paraValue"的Item   
  • function jsSelectIsExitItem(objSelect,objItemValue)   
  • {   
  •      var isExit = false ;   
  •      for ( var i=0;i;I++)   
  •      {   
  •          if (objSelect.options[i].value == objItemValue)   
  •          {   
  •              isExit = true ;   
  •              break ;   
  •          }   
  •      }        
  •      return isExit;   
  • }   
  •   
  • //2.向select选项中 加入一个Item   
  • function jsAddItemToSelect(objSelect,objItemText,objItemValue, objItemPos)   
  • {   
  •      //判断是否存在   
  •      if (jsSelectIsExitItem(objSelect,objItemValue))   
  •      {   
  •          alert( "该Item的 Value值已经存在" );   
  •      }   
  •      else   
  •      {   
  •          var varItem = new Option(objItemText,objItemValue);   
  • //       objSelect.options[objSelect.options.length] = varItem;   
  •          objSelect.options.add(varItem, objItemPos);   
  •          alert( "成功加入" );   
  •      }      
  • }   
  •   
  • //3.从select选项中 删除一个Item   
  • function jsRemoveItemFromSelect(objSelect,objItemValue)   
  • {   
  •      //判断是否存在   
  •      if (jsSelectIsExitItem(objSelect,objItemValue))   
  •      {   
  •          for ( var i=0;i;I++)   
  •          {   
  •              if (objSelect.options[i].value == objItemValue)   
  •              {   
  •                  objSelect.options.remove(i);   
  •                  break ;   
  •              }   
  •          }          
  •          alert( "成功删除" );              
  •      }   
  •      else   
  •      {   
  •          alert( "该 select中 不存在该项" );   
  •      }      
  • }   
  •   
  • //4.修改select选项中 value="paraValue"的text为"paraText"   
  • function jsUpdateItemToSelect(objSelect,objItemText,objItemValue)   
  • {   
  •      //判断是否存在   
  •      if (jsSelectIsExitItem(objSelect,objItemValue))   
  •      {   
  •          for ( var i=0;i;I++)   
  •          {   
  •              if (objSelect.options[i].value == objItemValue)   
  •              {   
  •                  objSelect.options[i].text = objItemText;   
  •                  break ;   
  •              }   
  •          }          
  •          alert( "成功修改" );              
  •      }   
  •      else   
  •      {   
  •          alert( "该 select中 不存在该项" );   
  •      }      
  • }   
  •           
  • //5.设置select中text="paraText"的第一个 Item为选中   
  • function jsSelectItemByValue(objSelect,objItemText)   
  • {      
  •      //判断是否存在   
  •      var isExit = false ;   
  •      for ( var i=0;i;I++)   
  •      {   
  •          if (objSelect.options[i].text == objItemText)   
  •          {   
  •              objSelect.options[i].selected = true ;   
  •              isExit = true ;   
  •              break ;   
  •          }   
  •      }        
  •      //Show出结果   
  •      if (isExit)   
  •      {   
  •          alert( "成功选中" );              
  •      }   
  •      else   
  •      {   
  •          alert( "该 select中 不存在该项" );   
  •      }      
  • }   
  •   
  • //6.设置select中value="paraValue"的Item 为选中   
  • document.all.objSelect.value = objItemValue;   
  •   
  • //7.得到select的当前选中项的value   
  • var currSelectValue = document.all.objSelect.value;   
  •   
  • //8.得到select的当前选中项的text   
  • var currSelectText = document.all.objSelect.options[document.all.objSelect.selectedIndex].text;   
  •   
  • //9.得到select的当前选中项的Index   
  • var currSelectIndex = document.all.objSelect.selectedIndex;   
  •   
  • //10.清空select的项   
  • document.all.objSelect.options.length = 0;  
  • posted @ 2012-11-26 12:46 哈希 阅读(230) | 评论 (0)编辑 收藏

    封装 继承 多态

    面向对象的三个基本特征是:封装、继承、多态。

     

    封装

    封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。

    封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

    继承

    面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

    通过继承创建的新类称为“子类”或“派生类”。

    被继承的类称为“基类”、“父类”或“超类”。

    继承的过程,就是从一般到特殊的过程。

    要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。

    在某些 OOP 语言中,一个子类可以继承多个基类。但是一般情况下,一个子类只能有一个基类,要实现多重继承,可以通过多级继承来实现。

    继承概念的实现方式有三类:实现继承、接口继承和可视继承。

    Ø 实现继承是指使用基类的属性和方法而无需额外编码的能力;

    Ø 接口继承是指仅使用属性和方法的名称、但是子类必须提供实现的能力;

    Ø 可视继承是指子窗体(类)使用基窗体(类)的外观和实现代码的能力。

    在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。例如,Employee 是一个人,Manager 也是一个人,因此这两个类都可以继承 Person 类。但是 Leg 类却不能继承 Person 类,因为腿并不是一个人。

    抽象类仅定义将由子类创建的一般属性和方法,创建抽象类时,请使用关键字 Interface 而不是 Class。

    OO开发范式大致为:划分对象→抽象类→将类组织成为层次化结构(继承和合成) →用类与实例进行设计和实现几个阶段。

    多态

    多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。

    实现多态,有二种方式,覆盖,重载。

    覆盖,是指子类重新定义父类的虚函数的做法。

    重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

    其实,重载的概念并不属于“面向对象编程”,重载的实现是:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):integer;和function func(p:string):integer;。那么编译器做过修饰后的函数名称可能是这样的:int_func、str_func。对于这两个函数的调用,在编译器间就已经确定了,是静态的(记住:是静态)。也就是说,它们的地址在编译期就绑定了(早绑定),因此,重载和多态无关!真正和多态相关的是 “覆盖”。当子类重新定义了父类的虚函数后,父类指针根据赋给它的不同的子类指针,动态(记住:是动态!)的调用属于子类的该函数,这样的函数调用在编译期间是无法确定的(调用的子类的虚函数的地址无法给出)。因此,这样的函数地址是在运行期绑定的(晚邦定)。结论就是:重载只是一种语言特性,与多态无关,与面向对象也无关!引用一句Bruce Eckel的话:“不要犯傻,如果它不是晚邦定,它就不是多态。”

    那么,多态的作用是什么呢?我们知道,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用“家谱”中任一类的实例的某一属性时的正确调用。

    泛化(Generalization)

     

    在上图中,空心的三角表示继承关系(类继承),在UML的术语中,这种关系被称为泛化(Generalization)。Person(人)是基类,Teacher(教师)、Student(学生)、Guest(来宾)是子类。

    若在逻辑上B是A的“一种”,并且A的所有功能和属性对B而言都有意义,则允许B继承A的功能和属性。

    例如,教师是人,Teacher 是Person的“一种”(a kind of )。那么类Teacher可以从类Person派生(继承)。

    如果A是基类,B是A的派生类,那么B将继承A的数据和函数。

    如果类A和类B毫不相关,不可以为了使B的功能更多些而让B继承A的功能和属性。

    若在逻辑上B是A的“一种”(a kind of ),则允许B继承A的功能和属性。

    聚合(组合)

     

    若在逻辑上A是B的“一部分”(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。

    例如,眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,不是派生(继承)而成。

    聚合的类型分为无、共享(聚合)、复合(组合)三类。

    聚合(aggregation)

     

    上面图中,有一个菱形(空心)表示聚合(aggregation)(聚合类型为共享),聚合的意义表示has-a关系。聚合是一种相对松散的关系,聚合类B不需要对被聚合的类A负责。

    组合(composition)

     

    这幅图与上面的唯一区别是菱形为实心的,它代表了一种更为坚固的关系——组合(composition)(聚合类型为复合)。组合表示的关系也是has-a,不过在这里,A的生命期受B控制。即A会随着B的创建而创建,随B的消亡而消亡。

    依赖(Dependency)

     

    这里B与A的关系只是一种依赖(Dependency)关系,这种关系表明,如果类A被修改,那么类B会受到影响

    posted @ 2012-11-21 09:32 哈希 阅读(215) | 评论 (0)编辑 收藏

    数列6,10,18,32,“?”,问“?”是几?

      1。什么是3G,2。3C 融合技术,3。对大唐的认识。
      3G有三大制式,GSM升级后的WCDMA,CDMA升级后的CDMA2000,以及我国自主开发的TD-SCDMA。
      第三代移动通信技术(3rd-generation,3G),是指支持高速数据传输的蜂窝移动通讯技术。3G服务能够同时传送声音及数据信息,速率一般在几百kbps以上。目前3G存在四种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX。
      所谓“3C产品”,就是计算机(Computer)、通信(Communication)和消费类电子产品(ConsumerElectronics)三者结合,亦称“信息家电”。由于3C产品的体积一般都不大,所以往往在中间加一个“小”字,故往往统称为“3C小家电”。
      
      3C指的是计算机(Computer)、通讯(Communication)和消费类电子产品(Consumer Electrics)。3C融合即利用数字信息技术激活其中任何一个环节,通过某种协议使3C的三个方面实现信息资源的共享和互联互通,从而满足人们在任何时间、任何地点通过信息关联应用来方便自己的生活。 无线宽带正是实现数字家庭3C融合的首要步骤。

      第一部分:选择题
      1.相同码元速率下,那种传输方式信息传输速率最高
      QPSK 16QAM BPSK GMSK
      2.下面哪些属于差错控制编码
      3.自由空间传播环境下信号衰减与距离( )次方成比例
      4.下列哪些功能属于网络管理的功能域5a880faf6f?应届生求职网YingJieSheng.COM?c350ade2a4
      故障管理配置管理计费管理性能管理安全管理传输管理路由管理
      5.采用CDMA技术通信系统,扰码的主要作用
      信道估计信道区分信号白化同步
      6.交织的主要作用
      7.数据链路层的协议是
      HDLC ARQ PPP ICMP RTP6fe97759aa?应届生求职网YingJieSheng.COM?b922cfa312
      8.那种ATM协议最适合应用话音业务
      AAL5 AAL4 AAL3 AAL2
      第二部分:填空问答
      1.香农公式表达式
      2.爱尔兰含义
      最大话务量和BHCA分别取决于什么5568161a8c?应届生求职网YingJieSheng.COM?d5792c152c
      3.中继器,网桥.路由器,网关各是两个网络的哪层连接;路由器的功能是( )和( )
      4.解释QPSK调制的原理
      5.简述dB,dBm的概念
      6.画出数字通信系统的模型,简述信源编码和信道编码的区别,及其它们在无线通信系统中的作用
      7.C语言中能否在头文件中定义变量,并说明原因
      8.在Windows系统,能否动态链接库中定义变量,如果可以定义说明有效范围4005f8da13?应届生求职网YingJieSheng.COM?60d149af1f
      9.结构化程序设计中程序=
      面向对象程序设计中程序=
      10.解释return和exit的区别
      11.ATM网络信元长度是( ),所有信息在最底层以( )的方式传送,以保持电路交换适合于传送实时性很强的业务特点.
      12.什么是TDD,什么是FDD,多址方式又指什么?列出你所了解的多址方式
      13.谈谈对OSI或计算机网络中”协议””实体””服务”的理解以及什么是SDU PDU和Primitive?8f07f89ddb?应届生求职网YingJieSheng.COM?4c20a920bf
      14.GSM逻辑信道及分类
      15.谈谈你对移动通信系统组成的理解.

     


    1.    描述一下public,protected,private,final关键字在Java中的用法?
      public表示公共的,定义类的时候工程下任何包都可以读取到,protected是受保护的,只有在相同包内的类才能读取到,private定义方法时候只能在类内部才能读取到。final表示一个终态,是不可改变的。
    2.    Abstract class 和Interface 有什么区别?
      抽象类和接口的区别如下:
      (1、)抽象类是类,接口是接口;
      (2、)抽象类只能继承一个,接口可以多实现;
      (3、)抽象类定义一些静态变量可以,接口中不行;
    3.    Vector 和 ArrayList 有什么区别? HashTable 和 HashMap有什么区别?
      vector 和 Arraylist都是继承自集合类collection,vector是链表的方式实现的,读取熟读快,添加数据时候慢,Arraylist里面添加数据慢读取数据快。
      Hashtable和HashMap最大的区别是HashTable是同步的,HashMap是非同步的,所以性能上相对快一点,HashTable是继承自Dictionary类,而HashMap是继承自Map接口
    4.    Java集合中的Iterator起什么作用?
      java集合中Iterator主要作用是去除重复;
    5.    Java中创建一个对象有哪几种方法,区别是什么?
      java中创建对象可以实例化new
    6.    多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
      多线程可以通过实现runable接口,也可以继承Thread类来实现。
      实现同步也有两种,一种是用同步方法,一种是用同步块.. 同步方法就是在方法返回类型后面加上synchronized, 比如:
      public void synchronized add(){...}
      同步块就是直接写:synchronized (这里写需要同步的对象){...}
      wait():使一个线程处于等待状态,并且释放所持有的对象的lock。
      sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。
      notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。
      Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
    7.    描述一下Java中的异常机制,什么是Checked Exception, Unchecked Exception?
      java中的异常机制要求你对一些存在的问题进行实现的规划,并对相应的Exception的情况进行设定,当程序捕获类似的情况就会抛出异常,你可以定义异常的处理方法,异常并不是致命的,它与错误有着区别,错误只要发生程序就会终止,但是异常会继续执行下去。
      java中的异常包括受检查的异常和不受检查的异常,(1、)受检查的异常:这种在编译时候被强制检查的异常被称作受检查异常,即在方法中声明的异常。(2、)不受检查的异常:在方法得声明中没有声明,但在方法的运行过程中发生的各种异常叫做不受检查的异常,这种异常是错误,会被自动捕获。一些规模较小的程序中,受检查的异常能够提高开发效率,但随着项目规模的扩大,过的的受检查的异常变得难以管理,其带来的好处也消失殆尽。
    8.    描述一下Java ClassLoader 或者 J2EE ClassLoader的工作原理?(可以画图)
      当运行程序是首先运行java虚拟机(JVM),然后把java class加载到JVM里运行,负责加载java class的这部分就叫做java ClsssLoader,
      JVM本身包含一个ClassLoader成为bootstrap ClassLoader,和JVM一样,BootstrapClassLoader使用本地代码实现的,它负责加载核心javaClass(即所有java.*开头的类)。另外JVM还提供两个ClassLoader,他们都是用java语言实现的,都是由BootstrapClassLoader负责加载,其中Extention ClassLoader负责加载扩展的javaclass(例如所有以javax.*开头的类和存放在JRE的ext目录下的类),ApplicationClassLoader负责加载应用程序自身的类。
      当运行一个程序的时候,JVM启动,运行Bootstrapclassloader,该classloader加载核心API(ExtClassloader和AppClassloader也在此时被加载),然后调用Extclassloader加载扩展API,最后AppClassloader加载CLASSPATH目录下定义的Class,这就是一个程序最基本的加载流程。

    9.    MVC的各个部分都有那些技术来实现?如何实现?
      MVC主要包括模型层,视图层,控制层。
      模型层主要由javabean实现,视图层是由jsp实现,控制层主要由servlet实现。
    10.    描述一下Struts的工作方式?
      struts1.2的工作方式主要是MVC实现,struts2是拦截器的方式实现。
    11.    JSP中包含哪几个内置对象?
      jsp包括九个内置对象,分别为:request,response,session,cookie,out,application,pageRequest,Exception,
    12.    JSP中两种跳转方式分别是什么?有什么区别?
      jsp两种跳转方式是重定向和页面跳转,其中重定向方式执行,form表单提交数据会失去,网络地址会变化,页面跳转不会;
    13.    描述一下JSP中taglib的用法?
      jsp中标签可以使java代码嵌入到页面上使用
    14.    Javascript中如何校验数字型?
      正则表达式
    15.    EJB2.0中包括哪些内容? 作用分别是什么?
      EJB2.0
    16.    一个SessionBean包含哪几个组件?各个组件作用是什么?
      
    17.    描述一下一个EJB应用中EJB部署文件,以及你所熟悉的App Server的部署文件的作用?
       
    18.    列举一下你所知道的设计模式(包括EJB,J2EE的设计模式),以及他们应用的场合?
      代理模式:把一个对象注入到一个类中通过这个注入的对象来完成一系列方法,
      工厂模式:一个接口下的所有类的实例可以通过专门的工厂类通过传递不同的参数来实现;
      Adapter(适配器)模式:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的用意是将接口不同而功能相同或者相近的两个接口加以转换。
      单例模式:单例模式有两种:
                饿汉模式
          public class Singleton
          {
           private Singleton();
           priavate static Singleton singleton = new Singleton();
           public staic Singleton getInstance()
           {
          return instance;
           }
          }
          懒汉模式:
          public class Singleton
          {
           private static Singleton singleton = new Singleton();
           public static synchronize Singleton()
           {
          if(instance == null)
            {
           instance = new singleton();
            }
            return instance;
           }
          }
    19.    解析XML主要方法有哪些? 各有什么区别?
      1、xml有哪些解析技术?区别是什么?

    2、你在项目中用到了xml技术的哪些方面?如何实现的?

    3、用jdom解析xml文件时如何解决中文问题?如何解析?

    4、编程用JAVA解析XML的方式.

    1、xml有哪些解析技术?区别是什么?
      解析XMl方法主要方法有文件流读取,页面XMLHttp读取。
      DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且dom必须在解析文件之前把整个文档装入内存
      SAX:适合对XML文件的随机访问,不像DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。
      StAX:当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问STAX:Streaming API for XML (StAX)
      2、主要用到了信息存储信息配置两方面,在做数据交换平台时,将不能用数据源的数据组装成xml文件,然后将xml文件压缩打包加密后发给接收者,接受解密解压缩后再同xml文件中还原相关信息进行处理。在做软件配置时候,利用xml文件可以方便的进行,软件的各种配置都存储在xml文件中。
      3、
    20.    您了解Open Source的项目吗? 如果了解请描述几个,并讲述一下他们的作用?
      apchetomcat就是一个比较好的开源项目,主要作为服务器来使用。
      struts是一个主要用于作为控制层的开源框架项目,
      spring是一个轻量级的开源项目,通过控制反转和代理模式实现
      Hibernate是个持久层框架,用来建立与数据库的持久层
    21.    您看过哪些JAVA方面的书籍,能列举一下吗?
      think in java ,core java,jquery in action, struts,spring ,hibernate等等方面的书都有涉猎。

    posted @ 2012-11-20 20:02 哈希 阅读(257) | 评论 (0)编辑 收藏

    <%@ page pageEncoding="utf-8" %> <%@ page language="java" contentType="text/html; charset=GBK" %><%@ page import="java.util.*" %> <%@ page import="java.io.OutputStream" %> <%@ page import="jxl.Workbook" %> <%@ page import="jxl.write.WritableCellFormat" %> <%@ page import="jxl.write.WritableSheet" %> <%@ page import="jxl.write.WritableWorkbook" %> <%@ page import="jxl.write.WriteException" %> <%@ page import="java.text.SimpleDateFormat" %> <% response.reset(); response.setContentType("application/vnd.ms-excel"); response.setHeader("Content-Disposition", "filename=Member.xls");//attachment// WritableWorkbook是JexcelApi的一个类。 // 以下可以理解为创建一个excel文件,然后在excel里面创建一个表 OutputStream os = response.getOutputStream();//取得输出流 WritableWorkbook workbook = Workbook.createWorkbook(os); WritableSheet sheet = workbook.createSheet("First Sheet", 0);// 组织excel文件的内容 jxl.write.Label label = null; int excelCol = 0; int row = 0; try { label = new jxl.write.Label(excelCol++, row, "帐号"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "姓名"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "身份证"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "联系电话"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "生日"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "城市"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "职业"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "已购音箱型号"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "试听与否"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "邮箱"); sheet.addCell(label); label = new jxl.write.Label(excelCol, row, "注册时间"); sheet.addCell(label); //jxl.write.Number number = null; jxl.write.DateTime dateTime; jxl.write.DateFormat customDateFormat = new jxl.write.DateFormat("yyyy-MM-dd");//时间格式 WritableCellFormat dateFormat = new WritableCellFormat(customDateFormat); for(int i=0;i<10;i++){ excelCol = 0; row = i + 1; SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); /*字串格式*/ try{ label = new jxl.write.Label(excelCol++, row, formatDate.format("100")); sheet.addCell(label); }catch (Exception e){ //Maybe somebody fogot to input his birthday ,I need do nothing here! } label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, "100"); sheet.addCell(label); /*时间格式*/ //label = new jxl.write.Label(excelCol, row, formatDate.format(rr.getCreateTime())); //sheet.addCell(label); } } catch (Exception e) { e.printStackTrace(); } finally{ // 生成excel文件 workbook.write(); workbook.close(); os.close(); } %>

    posted @ 2012-08-23 21:21 哈希 阅读(255) | 评论 (0)编辑 收藏

    网上的 Jquery ajax Demo 大多都是基于php
    很少 有java的 今天就把自己的Demo贴出来 和大家共同学习
    现在就  Jquery ajax 的 $.ajax(),$.post(),$.get();

    首先是  服务端的Servlet 演示这三个函数的用法对都是用的同一个 服务端
    Java代码 
    package com.june.servlet;  
     
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletResponse;  
    import javax.servlet.http.HttpServletRequest;  
    import java.io.IOException;  
    import java.io.PrintWriter;  
    import javax.servlet.ServletException;  
     
    public class jqueryAjaxServer extends HttpServlet {  
         public jqueryAjaxServer(){  
             super();  
         }  
         public void doGet(HttpServletRequest request,HttpServletResponse response)  
         throws IOException ,ServletException {  
             response.setContentType("text/html;charset=utf-8");  
             PrintWriter out=response.getWriter();  
             String account=request.getParameter("account");  
             if("iamcrzay".equals(account)){  
                 out.print("Sorry,the user is exist");  
             }  
             else{  
                 out.print("Congratulation,this accont you can use!!!!");  
             }  
             out.close();  
         }  
         public void doPost(HttpServletRequest request,HttpServletResponse response)  
         throws IOException ,ServletException {  
             this.doGet(request, response);  
         }  

    package com.june.servlet;

    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;

    public class jqueryAjaxServer extends HttpServlet {
         public jqueryAjaxServer(){
          super();
         }
         public void doGet(HttpServletRequest request,HttpServletResponse response)
         throws IOException ,ServletException {
          response.setContentType("text/html;charset=utf-8");
          PrintWriter out=response.getWriter();
          String account=request.getParameter("account");
          if("iamcrzay".equals(account)){
           out.print("Sorry,the user is exist");
          }
          else{
           out.print("Congratulation,this accont you can use!!!!");
          }
          out.close();
         }
         public void doPost(HttpServletRequest request,HttpServletResponse response)
         throws IOException ,ServletException {
          this.doGet(request, response);
         }
    }

     

    下面是WEB.XML
    Xml代码 
    <?xml version="1.0" encoding="UTF-8"?> 
    <web-app version="2.5"   
        xmlns="http://java.sun.com/xml/ns/javaee"   
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
        <servlet> 
           <servlet-name>jqueryAjaxServer</servlet-name> 
           <servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class> 
        </servlet> 
            <servlet-mapping> 
           <servlet-name>jqueryAjaxServer</servlet-name> 
           <url-pattern>/jqueryAjax</url-pattern> 
        </servlet-mapping> 
      <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
      </welcome-file-list> 
    </web-app> 

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     <servlet>
        <servlet-name>jqueryAjaxServer</servlet-name>
        <servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class>
     </servlet>
            <servlet-mapping>
        <servlet-name>jqueryAjaxServer</servlet-name>
        <url-pattern>/jqueryAjax</url-pattern>
     </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

     

    下面是Jsp页面
    第一个是 jqueryAjax.jsp  本页使用的是$.ajax()
    Html代码 
    <%@ page language="java"  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>    
        <title>jquery ajax</title>   
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script language="javascript"> 
             $(function(){  
                   $('.sumbit').click(function(){  
                   if($('#account').val().length==0){  
                       $('.hint').text("用户名不能位空").css({"background-color":"green"});   
                   }  
                   else{  
                   $.ajax({  
                     url:'jqueryAjax',  
                     data:{account:$('#account').val()},  
                     error:function(){  
                     alert("error occured!!!");  
                     },  
                     success:function(data){  
                      $('body').append("<div>"+data+"</div>").css("color","red");  
            
                     }  
                       
                   });}  
                   });  
                   });  
                       
             
                 
        </script> 
      </head> 
        
      <body> 
                    <h3 align="center">jquery AjaX</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    <%@ page language="java"  pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head> 
        <title>jquery ajax</title>
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
     <script language="javascript">
          $(function(){
                $('.sumbit').click(function(){
                if($('#account').val().length==0){
                    $('.hint').text("用户名不能位空").css({"background-color":"green"});
                }
                else{
                $.ajax({
                  url:'jqueryAjax',
                  data:{account:$('#account').val()},
                  error:function(){
                  alert("error occured!!!");
                  },
                  success:function(data){
                   $('body').append("<div>"+data+"</div>").css("color","red");
      
                  }
                 
                });}
                });
                });
                    
       
           
     </script>
      </head>
     
      <body>
                    <h3 align="center">jquery AjaX</h3>
                    <hr>
                    <label>请输入用户名 :</label>
                    <input id="account" name="account" type="text">
                    <input class="sumbit" type="button" value="检测">
                    <div class="hint">
                    </div>
      </body>
    </html>

     

    第二个用的是  $.post()

    Html代码 
    <%@ page language="java"  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>    
        <title>jquery ajax</title>   
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script language="javascript"> 
             $(function(){  
                 $('.sumbit').click(  
                  function(){  
                    if($('#account').val().length==0){  
                        $('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});  
                    }  
                    else{  
                    $.post("jqueryAjax","account="+$('#account').val(),function(data){  
                       $('.hint').text(data).css({"color":"red","background-color":"yellow"});  
                    })  
                    }  
                 });  
             });             
        </script> 
      </head> 
        
      <body> 
                    <h3 align="center">jquery Ajax</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    <%@ page language="java"  pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head> 
        <title>jquery ajax</title>
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
     <script language="javascript">
          $(function(){
              $('.sumbit').click(
               function(){
                 if($('#account').val().length==0){
                     $('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});
                 }
                 else{
                 $.post("jqueryAjax","account="+$('#account').val(),function(data){
                    $('.hint').text(data).css({"color":"red","background-color":"yellow"});
                 })
                 }
              });
          });       
     </script>
      </head>
     
      <body>
                    <h3 align="center">jquery Ajax</h3>
                    <hr>
                    <label>请输入用户名 :</label>
                    <input id="account" name="account" type="text">
                    <input class="sumbit" type="button" value="检测">
                    <div class="hint">
                    </div>
      </body>
    </html>

     

    第三个是用的$.get()

    Html代码 
    <%@ page  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>     
        <title>jquery get</title> 
          
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script type="text/javascript"> 
             $(function(){  
                    $('.sumbit').click(function(){  
                          if($('#account').val().length==0){  
                             $('.hint').html("用户名不能位空!!!").css({"color":"#ffoo11","background":"blue"});  
                          }  
                          else{  
                              $.get("jqueryAjax","account="+$('#account').val(),  
                                   function(data){  
                                    $('.hint').html(data).css({"color":"#ffoo11","background":"green"});  
                              });  
                          }  
                    });  
             });  
        </script> 
     
      </head> 
        
      <body> 
            <h3 align="center">jquery AjaX</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    posted @ 2012-05-25 16:43 哈希 阅读(233) | 评论 (0)编辑 收藏

    div#loadPic {
        width: 10%;
        height:40px;
        position:absolute;
        z-index:4;
        margin-top: 50px;
        margin-bottom: 50px;
        margin-left: auto;
        margin-right: auto;
        padding: 0px;
        top:30%;
    }

    posted @ 2012-03-14 13:58 哈希 阅读(164) | 评论 (0)编辑 收藏

    url=jsp?str="你好!" 
    String areaName=(String)request.getParameter("areaname");
    String dpt=new String(dptName.getBytes("ISO8859-1"),"UTF-8");

    posted @ 2012-03-01 18:45 哈希 阅读(193) | 评论 (0)编辑 收藏

      apache-comcat配置虚拟主机和虚拟目录  jquery autocomplete 自动填充文本框、文本域
    JS 导出excel,word实例  2011-10-10 11:55:00|  分类: 默认分类 |  标签:js  excel  word   |字号大

    小 订阅
    用js操作offace中的word,excel 必须首先确保你已经安装office,用js操作word,excel 用到了ActiveXObject类,它是专门用来调用windows操作中的程序的,下面是例子,直接复制到文本文件里,把后缀名改了就可以运行!

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>无标题文档</title>
    <script type="text/javascript" language="javascript">
    function ExcelExport(tableid)   
    {   

      //检索浏览器  
                if(navigator.userAgent.indexOf("MSIE")<0){  
                    alert('请用ie浏览器进行表格导出');  
                    return ;  
                }  
                var oXL = null;   
                try {  
                    oXL = GetObject("", "Excel.Application");  
                }  
                catch (E) {  
                    try {  
                        oXL = new ActiveXObject("Excel.Application");  
                    }  
                    catch (E2) {  
                        alert("请确认:\n1.Microsoft Excel已被安装.\n2.工具 => Internet 选项=> 安全 => 设置 \"启用不安全的 ActiveX\"");  
                        return;  
                    }  
                }  

        var table = document.getElementById(tableid);     
        var workbook = oXL.Workbooks.Add();   
         var sheet = workbook.ActiveSheet;   
         var sel = document.body.createTextRange();  //激活sheet
           
         //把table中的数据移到sel中   
         sel.moveToElementText(table);   
           
         sel.select(); //选中sel中所有数据   
         sel.execCommand("Copy");//复制sel中的数据    
          sheet.Columns("A:Z").ColumnWidth =20;//设置列宽  
         // sheet.Columns("B").ColumnWidth =35;  
          sheet.Rows(1).RowHeight = 35;//设置表头高  
         //将sel中数据拷贝到sheet工作薄中  
         sheet.Paste();           
         oXL.Visible = true; 
      //sheet.Save("F:\\TEST.XLS" ); 
         //通过打印机直接将Excel数据打印出来  
         //sheet.Printout;  
         //ax.UserControl = true;  
      oXL.Quit();
      oXL=null;
    }   
    </script>
    </head>

    <body>
    <table width="100%" border="1" id="mytable">
      <tr>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
      </tr>
      <tr>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
      </tr>
      <tr>
         <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
      </tr>
      <tr>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
      </tr>
      <tr>
         <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
        <td>nihao</td>
      </tr>
    </table>
    <form id="form1" name="form1" method="post" action="">
      <label>
      <input type="button" name="Submit" value="导出excel" onclick="ExcelExport('mytable')" />
      </label>
    </form>
    <p>&nbsp;</p>
    </body>
    </html>

     

    posted @ 2012-02-28 18:16 哈希 阅读(304) | 评论 (0)编辑 收藏

    http://www.wujianrong.com/archives/2007/05/20jspajax.html      简单用例
    http://www.ibm.com/developerworks/cn/web/wa-ajaxintro/          IBM—Ajax讲解
    http://www.w3schools.com/ajax/ajax_example.asp                     Ajax—Example  W3CSchol



    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    ">

    <html>
    <head>
    <script src="ajax.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page using AJAX</title>
    </head>
    <body>

    <a onclick="sendRequest('GET','index.jsp')" href="#">Server Date Time:</a>
    <div id="ajax_res">Server Date Time will replace this text.</div>
    </body>
    </html>

    index.jsp
    <html>
    <body>
    <%=new java.util.Date()%>
    </body>
    </html>

    ajax.js
    function createRequestObject(){
    var req;
    if(window.XMLHttpRequest){
    //For Firefox, Safari, Opera
    req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject){
    //For IE 5+
    req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else{
    //Error for an old browser
    alert('Your browser is not IE 5 or higher, or Firefox or Safari or Opera');
    }

    return req;
    }

    //Make the XMLHttpRequest Object
    var http = createRequestObject();

    function sendRequest(method, url){
    if(method == 'get' || method == 'GET'){
    http.open(method,url);
    http.onreadystatechange = handleResponse;
    http.send(null);
    }
    }

    function handleResponse(){
    if(http.readyState == 4 && http.status == 200){
    var response = http.responseText;
    if(response){
    document.getElementById("ajax_res").innerHTML = response;
    }
    }
    }
    run this application may be u get some clue

    posted @ 2012-02-24 23:30 哈希 阅读(178) | 评论 (0)编辑 收藏

    假设:
    1、你的页面在Web-Root下,内容为:  <div id="showMsg"></div><input type="text" id="userName" />,所用编码为utf-8
    2、你的servlet为:  HelloWorldServlet.java  映射路径为   servlet/helloWorldServlet
    步骤:
    1、引入jquery-1.6.4.min.js
    2、编写id为userName的输入框的点击触发函数:
          $("#userName").keyup(function(){
                $.ajax({
                      type: "post",
                      url: "servlet/helloWorldServlet?userName="+$(this).val(),
                      dataType: "json",
                      success: function(data){
                            $("#showMsg").html(data.msg);//修改id为showMsg标签的html
                      }, error: function(){
                            alert("请求出错");
                      }
                })
          })
    3、后台处理接收到的内容:
          request.setCharactorEncoding("utf-8");
          String userName = request.getParameter("userName");
          response.setCharactorEncoding("utf-8");
          PringWriter out = response.getWriter();
          out.print("{\"msg\":\"你好~~"+userName+"!\"}");
    
    注意事项:
    1、这里的编码统一为utf-8
    2、请求路径servlet/helloWorldServlet为相对路径,因此你的页面必须在项目的Web-Root下(也就是默认的web文件夹下,名字可能因项目配置不同而改变)
    
    网上的 Jquery ajax Demo 大多都是基于php 
    很少 有java的 今天就把自己的Demo贴出来 和大家共同学习
    现在就  Jquery ajax 的 $.ajax(),$.post(),$.get();

    首先是  服务端的Servlet 演示这三个函数的用法对都是用的同一个 服务端
     package com.june.servlet;   
     
    import javax.servlet.http.HttpServlet;  
    import javax.servlet.http.HttpServletResponse;  
    import javax.servlet.http.HttpServletRequest;  
    import java.io.IOException;  
    import java.io.PrintWriter;  
    import javax.servlet.ServletException;  
     
    public class jqueryAjaxServer extends HttpServlet {  
         public jqueryAjaxServer(){  
             super();  
         }  
         public void doGet(HttpServletRequest request,HttpServletResponse response)  
         throws IOException ,ServletException {  
             response.setContentType("text/html;charset=utf-8");  
             PrintWriter out=response.getWriter();  
             String account=request.getParameter("account");  
             if("iamcrzay".equals(account)){  
                 out.print("Sorry,the user is exist");  
             }  
             else{  
                 out.print("Congratulation,this accont you can use!!!!");  
             }  
             out.close();  
         }  
         public void doPost(HttpServletRequest request,HttpServletResponse response)  
         throws IOException ,ServletException {  
             this.doGet(request, response);  
         }  

    下面是WEB.XML
    Xml代码 
    <?xml version="1.0" encoding="UTF-8"?> 
    <web-app version="2.5"   
        xmlns="http://java.sun.com/xml/ns/javaee"   
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 
        <servlet> 
           <servlet-name>jqueryAjaxServer</servlet-name> 
           <servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class> 
        </servlet> 
            <servlet-mapping> 
           <servlet-name>jqueryAjaxServer</servlet-name> 
           <url-pattern>/jqueryAjax</url-pattern> 
        </servlet-mapping> 
      <welcome-file-list> 
        <welcome-file>index.jsp</welcome-file> 
      </welcome-file-list> 
    </web-app> 

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
     xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     <servlet>
        <servlet-name>jqueryAjaxServer</servlet-name>
        <servlet-class>com.june.servlet.jqueryAjaxServer</servlet-class>
     </servlet>
            <servlet-mapping>
        <servlet-name>jqueryAjaxServer</servlet-name>
        <url-pattern>/jqueryAjax</url-pattern>
     </servlet-mapping>
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    </web-app>

     

    下面是Jsp页面
    第一个是 jqueryAjax.jsp  本页使用的是$.ajax()
    Html代码 
    <%@ page language="java"  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>    
        <title>jquery ajax</title>   
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script language="javascript"> 
             $(function(){  
                   $('.sumbit').click(function(){  
                   if($('#account').val().length==0){  
                       $('.hint').text("用户名不能位空").css({"background-color":"green"});   
                   }  
                   else{  
                   $.ajax({  
                     url:'jqueryAjax',  
                     data:{account:$('#account').val()},  
                     error:function(){  
                     alert("error occured!!!");  
                     },  
                     success:function(data){  
                      $('body').append("<div>"+data+"</div>").css("color","red");  
            
                     }  
                       
                   });}  
                   });  
                   });  
                       
             
                 
        </script> 
      </head> 
        
      <body> 
                    <h3 align="center">jquery AjaX</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    <%@ page language="java"  pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head> 
        <title>jquery ajax</title>
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
     <script language="javascript">
          $(function(){
                $('.sumbit').click(function(){
                if($('#account').val().length==0){
                    $('.hint').text("用户名不能位空").css({"background-color":"green"});
                }
                else{
                $.ajax({
                  url:'jqueryAjax',
                  data:{account:$('#account').val()},
                  error:function(){
                  alert("error occured!!!");
                  },
                  success:function(data){
                   $('body').append("<div>"+data+"</div>").css("color","red");
      
                  }
                 
                });}
                });
                });
                    
       
           
     </script>
      </head>
     
      <body>
                    <h3 align="center">jquery AjaX</h3>
                    <hr>
                    <label>请输入用户名 :</label>
                    <input id="account" name="account" type="text">
                    <input class="sumbit" type="button" value="检测">
                    <div class="hint">
                    </div>
      </body>
    </html>

     

    第二个用的是  $.post()

    Html代码 
    <%@ page language="java"  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>    
        <title>jquery ajax</title>   
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script language="javascript"> 
             $(function(){  
                 $('.sumbit').click(  
                  function(){  
                    if($('#account').val().length==0){  
                        $('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});  
                    }  
                    else{  
                    $.post("jqueryAjax","account="+$('#account').val(),function(data){  
                       $('.hint').text(data).css({"color":"red","background-color":"yellow"});  
                    })  
                    }  
                 });  
             });             
        </script> 
      </head> 
        
      <body> 
                    <h3 align="center">jquery Ajax</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    <%@ page language="java"  pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head> 
        <title>jquery ajax</title>
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
     <script language="javascript">
          $(function(){
              $('.sumbit').click(
               function(){
                 if($('#account').val().length==0){
                     $('.hint').text("The account is cant't be null").css({"color":"red","background-color":"yellow"});
                 }
                 else{
                 $.post("jqueryAjax","account="+$('#account').val(),function(data){
                    $('.hint').text(data).css({"color":"red","background-color":"yellow"});
                 })
                 }
              });
          });       
     </script>
      </head>
     
      <body>
                    <h3 align="center">jquery Ajax</h3>
                    <hr>
                    <label>请输入用户名 :</label>
                    <input id="account" name="account" type="text">
                    <input class="sumbit" type="button" value="检测">
                    <div class="hint">
                    </div>
      </body>
    </html>

     

    第三个是用的$.get()

    Html代码 
    <%@ page  pageEncoding="utf-8"%> 
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html> 
      <head>     
        <title>jquery get</title> 
          
        <meta http-equiv="pragma" content="no-cache"> 
        <meta http-equiv="cache-control" content="no-cache"> 
        <meta http-equiv="expires" content="0">      
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
        <meta http-equiv="description" content="This is my page"> 
        <script src="js/jquery-1.2.6.js" type="text/javascript"></script> 
        <script type="text/javascript"> 
             $(function(){  
                    $('.sumbit').click(function(){  
                          if($('#account').val().length==0){  
                             $('.hint').html("用户名不能位空!!!").css({"color":"#ffoo11","background":"blue"});  
                          }  
                          else{  
                              $.get("jqueryAjax","account="+$('#account').val(),  
                                   function(data){  
                                    $('.hint').html(data).css({"color":"#ffoo11","background":"green"});  
                              });  
                          }  
                    });  
             });  
        </script> 
     
      </head> 
        
      <body> 
            <h3 align="center">jquery AjaX</h3> 
                    <hr> 
                    <label>请输入用户名 :</label> 
                    <input id="account" name="account" type="text"> 
                    <input class="sumbit" type="button" value="检测"> 
                    <div class="hint"> 
                    </div> 
      </body> 
    </html> 

    <%@ page  pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>  
        <title>jquery get</title>
       
     <meta http-equiv="pragma" content="no-cache">
     <meta http-equiv="cache-control" content="no-cache">
     <meta http-equiv="expires" content="0">   
     <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
     <meta http-equiv="description" content="This is my page">
     <script src="js/jquery-1.2.6.js" type="text/javascript"></script>
     <script type="text/javascript">
          $(function(){
                 $('.sumbit').click(function(){
                       if($('#account').val().length==0){
                          $('.hint').html("用户名不能位空!!!").css({"color":"#ffoo11","background":"blue"});
                       }
                       else{
                           $.get("jqueryAjax","account="+$('#account').val(),
                                function(data){
                                 $('.hint').html(data).css({"color":"#ffoo11","background":"green"});
                           });
                       }
                 });
          });
     </script>

      </head>
     
      <body>
            <h3 align="center">jquery AjaX</h3>
                    <hr>
                    <label>请输入用户名 :</label>
                    <input id="account" name="account" type="text">
                    <input class="sumbit" type="button" value="检测">
                    <div class="hint">
                    </div>
      </body>
    </html>

     
    http://iamcrzay.iteye.com/blog/237940 
     
     
     
     

    posted @ 2012-02-24 16:16 哈希 阅读(3996) | 评论 (3)编辑 收藏

    1、将数组转化成字符串,用特殊字符如“|”将数组的元素隔开,用普通的字符串参数传递

    2、使用json方式传递参数

    解析

    C#后台得到的是个string
    string objStr = HttpContext.Current.Request["objStr"];

    objStr内容([{"0": "a", "1": "b", "2": "c", "3": "d"}, {"0": "aa", "1": "bb", "2": "cc", "3": "dd"}{"0": "aa", "1": "bb"}])


    /// <summary>
      /// 从JS数组中解析出JSON对象返回该对象的字符串表示
      /// </summary>
      /// <param name="ArrayStr"></param>
      /// <returns></returns>
      private static string GetJsonStr(string ArrayStr)
      {
      //ArrayStr="[{'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'}]";
      string StrJson = ArrayStr;

      //将"[{"和"}]"去除;
      //StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'},{'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'},{'0': 'aa', '1': 'bb'";  
      StrJson = StrJson.Substring(2, StrJson.Length - 4);

      //将“},{”替换为“|”便于分割成数组
      //StrJson="'0': 'a', '1': 'b', '2': 'c', '3': 'd'|'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'|'0': 'aa', '1': 'bb'";  
      StrJson = StrJson.Replace("},{", "|");  
       
      //以“|”为分隔符将每个JSON对象分割成字符串
      /*结果为:strjson[0]="'0': 'a', '1': 'b', '2': 'c', '3': 'd'";
      strjson[1]="'0': 'aa', '1': 'bb', '2': 'cc', '3': 'dd'";
      strjson[2]="'0': 'aa', '1': 'bb'";*/
      return StrJson.Split('|');
      }

    posted @ 2012-02-20 22:16 哈希 阅读(206) | 评论 (0)编辑 收藏

    ask.jsp

    <script language="javascript" type="text/javascript">
    function Open()
    {

    window.open('<%=path%>/jsp/answer.jsp' ,'_blank','top=250,left=300,width=500 height=100');
    }
    </script>

      <body>
     <form   onsubmit= "return  new_window(); " >
      <input type="text" name="tbValue"><a href="javascript:" onclick="Open();">Open http://www.dwww.cn </a>
      
     </form>
      </body>

    answer.jsp

     <script language="javascript" type="text/javascript">
      function SetValue(value)
      {
      self.opener.document.all("tbValue").value=value;
      self.close();
      }
      </script>

     
     
    <body>
        Values:<br/>
    <a href="javascript:SetValue('1')">value 1</a><br/>
    <a href="javascript:SetValue('2')">value 2</a>

      </body>

     





    posted @ 2012-02-19 12:56 哈希 阅读(173) | 评论 (0)编辑 收藏

    a href 不让页面跳转

    不可以跳转
    <a href="javascript:;" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
    location.href不跳转测试1</a>  
    <a href="javascript:void(0);"
    onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
    location.href不跳转测试2</a>  


    可以跳转
    <a href="javascript:void(0);"
    onclick="javascript:ToUrl('http://www.jingzhengli.cn');return false;">
    location.href不跳转测试3</a>  
    <a href="#" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
    location.href不跳转测试4</a>  
    <a href="###" onclick="javascript:ToUrl('http://www.jingzhengli.cn');">
    location.href不跳转测试5</a> 
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/muzai/archive/2010/11/22/6026786.aspx

    posted @ 2012-02-17 13:22 哈希 阅读(1153) | 评论 (0)编辑 收藏


    第一种:
        <script language="javascript" type="text/javascript">
               window.location.href=
    "login.jsp?backurl="+window.location.href;
        </script>

    第二种:
        <script language=
    "javascript">
    alert(
    "返回");
    window.history.back(-1);
       </script>

    第三种:
       <script language=
    "javascript">
    window.navigate(
    "top.jsp");
      </script>

    第四种:
       <script language=
    "JavaScript">
              self.location='top.htm';
       </script>

    第五种:
       <script language=
    "javascript">
              alert(
    "非法访问!");
              top.location='xx.jsp';
       </script>

    posted @ 2012-02-16 23:09 哈希 阅读(161) | 评论 (0)编辑 收藏

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> 显示隐藏列 </TITLE>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function setHiddenCol(oTable,iCol)//Writed by QQ:190988779 at 2007-7-24 11:14:09
    {
        for (i=0;i < oTable.rows.length ; i++)
        {
            oTable.rows[i].cells[iCol].style.display = oTable.rows[i].cells[iCol].style.display=="none"?"block":"none";
        }
    }
    function setHiddenRow(oTable,iRow)//Writed by QQ:190988779 at 2007-7-24 11:14:09
    {
        oTable.rows[iRow].style.display = oTable.rows[iRow].style.display == "none"?"block":"none";
    }
    //-->
    </SCRIPT>
    </HEAD>

    <BODY>
    <TABLE id="Table1" cellSpacing="1" cellPadding="1" border="1">

    <TR> <TD width="20%">00</TD> <TD width="20%" bgcolor="#E3E3E3">01</TD> <TD width="20%">02</TD></TR>
    <TR> <TD width="20%" bgcolor="red">10</TD> <TD width="20%" bgcolor="green">11</TD> <TD width="20%" bgcolor="red">12</TD></TR>
    <TR> <TD width="20%">20</TD> <TD width="20%" bgcolor="#E3E3E3">21</TD> <TD width="20%">22</TD></TR>
    </TABLE> </P>


    <INPUT id="btnHiddenCol" type="button" value="显示/隐藏第2列" name="btnHiddenCol" onclick="setHiddenCol(document.getElementById('Table1'),1)">
    <INPUT id="btnHiddenRow" type="button" value="显示/隐藏第2行" name="btnHiddenRow" onclick="setHiddenRow(document.getElementById('Table1'),1)">
    </BODY>
    </HTML>

    posted @ 2012-02-15 11:08 哈希 阅读(859) | 评论 (0)编辑 收藏

    oracle数据库的配置

    一、Oracle的配置

    1、配置net manager

      依次选择开始—>Oracle – OraHome92>Configuration and Migration Tools>Net Manager

    选择本地—>服务命名,点击左侧绿色加号 

    输入Net服务名 172.30.4.205_ora91 点击下一步 

    选择TCP/IPInternet协议) 点击下一步 

    输入主机名172.30.4.205 点击下一步 

    选择(Oracle8i或更高版本)服务名:ora91  点击下一步 

    点击测试 

    选择更改登陆,输入用户名xiecha,口令xiecha 

    点击确定,出现测试成功后选择关闭

    点击完成 

    保存网络配置 
    参见网址:http://wenku.baidu.com/view/7685da64783e0912a2162aa9.html

    posted @ 2012-02-09 11:56 哈希 阅读(153) | 评论 (0)编辑 收藏

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的目的是联合数据库语言和过程语言。PL/SQL的基本单位叫做一个区段,由三个部份组成:一个申明部份,一个可运行部份,和排除-构建部分。 因为PL/SQL允许混合SQL申明和过程结构,因此可以在将申明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL申明,没有PL/SQL,甲骨文需要就每次处理SQL申明,在网络环境中,这将影响交通流量,而且增加响应时间。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。
    Enhancements in PL/SQL Developer 8.0.4
    ======================================
    * SQL Window would always print SQL text, disregarding "Print SQL"
      preference
    * Searching within special text (strings, comments) could be slow
    * Key Configuration preference could reset to default instead of
      using the defined keys when using multiple preference sets
    * Export to Excel would interpret data beginning with = as formula
    * Column names starting with a digit were not implicitly quoted in
      SQL statements
    * Fixed issue with search in selection where incorrect characters
      could be replaced
    * Duplicate items removed from description window
    * View/Edit Data for tables with an owner with special characters
      would not add quotes to the owner
    * UTFE characters were displayed incorrectly when Unicode support
      was enabled
    * Loading the Macro Library could fail on Windows 7/Vista,
      resulting in a "list index out of bounds" error message
    * Debugger could hang after an exception on oracle11g
    * Code Assistant can now complete database link names
    * Copy all to Excel in the SQL Window would not have correct
      formatting on the second sheet
    * To-Do Item List was not up-to-date when opening a package spec &
      body

    下载地址如下
    源程序:http://allroundautomations.swmirror.com/plsqldev804.exe
    语言文件及手册:http://www.allroundautomations.com/plsqldevlang/80/chinese.exe
    注册信息如下
    product code:kfqtle46lqzbbvlzuvsrutst66yn6m7kl8s2trrtsapr
    password:xs374ca
    serial number:1775341736

    posted @ 2012-01-18 18:00 哈希 阅读(315) | 评论 (0)编辑 收藏

    <table>
               <tr>
                <td><div style="margin-top:7px;float:left;">项目进度:</div></td>
                <td>
                 <div style="float:left;background-color:#dde5ea;cursor:hand;margin-top:6px;float:left;width:120px;; height:20; border:1px solid #C7DBF4;" >
                <div style="width:20%; height:20px; background-color: #33CC00; float:left"></div>
            </div>
                </td>
               </tr>
              </table>


    <table>
               <tr>
                <td><div style="margin-top:7px;float:left;">项目进度:</div></td>
                <td>
                 <div onclick="viewProcess('<%=baseRecord.getString("ID","")%>')" style="float:left;background-color:#dde5ea;cursor:hand;margin-top:6px;float:left;width:120px;; height:20; border:1px solid #C7DBF4;" >
                <div style="width:<%=baseRecord.getString("PROGRESS","0") %>%; height:20px; background-color: #33CC00; float:left"></div>
            </div>
                </td>
               </tr>
              </table>

    posted @ 2012-01-17 15:15 哈希 阅读(184) | 评论 (0)编辑 收藏

    <Context path="/roeee" reloadable="true" docBase="C:\Program Files\apache-tomcat-5.5.33\webapps\roeee">
     <Resource
          name="jdbc/ROEEE"
          type="javax.sql.DataSource"
          password="icss"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          maxIdle="2"
          maxWait="5000"
          username="recjl"
          url="jdbc:oracle:thin:@10.17.10.245:1521:AEG"
          maxActive="4"/>
       <Resource
          name="ResourceOne/DataSource"
          type="javax.sql.DataSource"
          password="icss"
          driverClassName="oracle.jdbc.driver.OracleDriver"
          maxIdle="2"
          maxWait="5000"
          username="recjl"
          url="jdbc:oracle:thin:@10.17.10.245:1521:AEG"
          maxActive="4"/>
    </Context>


    放在apache-tomcat-5.5.33\conf\Catalina\localhost  路径下

    posted @ 2012-01-09 16:22 哈希 阅读(152) | 评论 (0)编辑 收藏


    从加入中金黄金项目组以来将近一个月了,在这期间,我对自己所做模块业务非常熟

    悉了,通过这段时间的开发,对项目中所用到的基本技术也熟悉了。在开发中个人技

    术不是很全面遇到问题解决时间较长,经验还是需要积累。在与北京交流过程中有时

    还是不能及时得到反馈,需要消耗时间。项目前期设计不够合理的地方在开发中可能才会遇到。

    posted @ 2012-01-03 15:58 哈希 阅读(126) | 评论 (0)编辑 收藏

    数字标签实例

    Double num = new Double("123456789012.3456");

    整数带千分符显示:

    <fmt :formatNumber value="${num}" type="number"/>

    整数显示:

    <fmt :formatNumber value="${num}" pattern="#" type="number"/>

    两位小数舍入显示:

    <fmt :formatNumber value="${num}" pattern="#.##" type="number"/>

    两位小数舍入,不足两位小数补 0 显示:

    <fmt :formatNumber value="${num}" pattern="#.00" type="number"/>

    货币显示:(与 number 类似扩展 pattern 

    <fmt :formatNumber value="${num}" type="currency"/>

    百分数显示:(与 number 类似扩展 pattern 

    <fmt :formatNumber value="${num}" type="percent"/>

    实例结果

    整数带千分符显示: 123,456,789,012.346

    整数显示: 123456789012

    两位小数舍入显示: 123456789012.35

    两位小数舍入,不足两位小数补 0 显示: 123456789012.35

    货币显示:¥ 123,456,789,012.35

    百分数显示 12,345,678,901,235%

    posted @ 2011-12-28 01:08 哈希 阅读(189) | 评论 (0)编辑 收藏

    {sName: "productId","bSortable":false, "sColumnDataType":'link',
            "sColumnDataTypePro":{'url':"javascript:findmodel('<c:out value="${context_path }"/>/k4_oldGoldStorsge/oldGoldDetail/{id}');",'name':'productId'},aTargets: [2]},


    function findmodel(url){
          var rs = window.showModalDialog(url,"dialogWidth=" + 500 + "px;dialogHeight=" + 90 + "px");
     }

    posted @ 2011-12-24 15:58 哈希 阅读(189) | 评论 (0)编辑 收藏

    //采购申请单——保存状态
     public void updateSpStatus() {
      //要更新的状态 1、待业务审核 2、待财务审核 3、审核退回  4、入款
      String statusId=request().getParameter("status");
      //要更新的id
      String[] idStrings=request().getParameterValues("id");
      //吧要更新的确认单放入集合一起更新
      List<PurchaseAddMoney> list=new ArrayList<PurchaseAddMoney>();
      for(int i=0;i<idStrings.length;i++){
       PurchaseAddMoney pur=new PurchaseAddMoney();
       pur.setId(idStrings[i]);
       pur.setStatusId(statusId);
       //如果是财务确认,要更新财务确认日期
       if(statusId.equals("j208")){    
        //更新完成审批时间  
        pur.setFinishApproveDate(CommonHelper.getCreateTimeToString());
       }
          
       list.add(pur);
      }
      //批量更新到数据库  
      purchaseAddService.batchUpdate(list);
      this.render(SUCCESS);
     }


    public int[] batchUpdate(List list) {  
      return super.batchUpdate(list);
     }

    <form id="purchaseAddApply" name="purchaseAddApply" method="post" action="purchaseAddUpdateStatus">

    posted @ 2011-12-21 23:01 哈希 阅读(698) | 评论 (0)编辑 收藏

    public void changeStates(String states,String id){
      Map<String,String> parameter = new HashMap<String,String>();
      parameter.put("id", id);
      parameter.put("type", states);
      Map<String,Object> result = bankSettelService.updateStates(parameter);  
      this.printHtml(result.get("count"));
     }


    /**
      * <p>修改结算表状态
      * @param parameter
      * @return
      */
     public Map<String,Object> updateStates(Map<String,String> parameter){
      Query query = this.getRepository().createQuery();
      Map<String,Object> result = new HashMap<String,Object>();
      List<Object> sqlParam = new ArrayList<Object>();
      StringBuilder sql = new StringBuilder();
      String[] arrParam = parameter.get("id").split(",");
      String paramIn = "'";//回购单编号
      String type = "";//回购单修改后状态
      int count = 0; //修改行数
      for(String param:arrParam){
       paramIn += param + "','";
      }
      paramIn = paramIn.substring(0,paramIn.length() - 2);
      
      //回购单状态
      if("1".equals(parameter.get("type"))){
       type = REPUR_SETTEL_STATUS03; //待付款
      } else if("2".equals(parameter.get("type"))){
       type = REPUR_SETTEL_STATUS06; //审批退回
      } else if("3".equals(parameter.get("type"))){
       type = REPUR_SETTEL_STATUS04; //作废
      } else if("4".equals(parameter.get("type"))){
       type = REPUR_SETTEL_STATUS05; //已付款
      }
      //修改状态
      if(!StringUtils.isEmpty(type)){
       Update update = new Update();
       //更新回购结算单状态  如果为已付款 同时要更新回购单状态为已付款
       if("4".equals(parameter.get("type"))){
        //更新回购结算单状态
        update.set("BUYBACKSTATEMENT_STATUS = '" + type + "'")
         .set("PAYMENTSTATUS = '1'")
         .set("PAYMENTDATE = '" + CommonHelper.getCreateTimeToString()+"'")
         .update("TB_E_BUYBACKSTATEMENT")
         .where("ID in("+paramIn+")");    
        
        //查看对应的客户回购单客户结算回购状态是否为已付款,如果是,要更改回购单状态已付款
        sql.append(updateBankReStatusSql);
        sql.append("and ID in(" + CL_LF);
        sql.append(getSettleStatusSql);
        sql.append("AND BUYBACKSTATEMENT.ID in(" + paramIn + ")" + CL_LF);
        sql.append(")" + CL_LF);
        sql.append("AND FINANCEAFFIRMSTATSUS = ?" + CL_LF);
        sqlParam.add(REPUR_STATUS09);//回购单状态为已付款
        sqlParam.add(CREPUR_STATUS04);//客户回购单结状态为已付款
        query.execute(sql.toString(),sqlParam);
       }else{
        update.set("BUYBACKSTATEMENT_STATUS = '" + type + "'")
        .update("TB_E_BUYBACKSTATEMENT")
        .where("ID in("+paramIn+")");
       }
       count = query.execute(update);
      }
      result.put("count", count);
      return result;
     }


    function changeStates(flag) {
      var checkValues = getCoulmnValue(oTable,'key');
      if(isEmpty(checkValues)){
       showInfo("请选择数据");
       return false;
      } else {
       if(flag == 1){
        if(confirm('确认审批是否通过?')){
         saveStates(flag,checkValues);
        }
       }else if(flag == 4){
        if(confirm('确认付款?')){
         saveStates(flag,checkValues);
        }
       }else{
        saveStates(flag,checkValues);
       }     
      }
     } 
     //审批数据提交
     function saveStates(flag,checkValues){
      $.ajax({
         type: 'get',
         url: "<c:url value='/j8_bankSettle/changeStates/'/>"+flag+"/"+checkValues,
         dataType: 'html',
         success: function(data){        
          if(data > 0){
            showInfo("操作成功");       
         query();      
          }else{
            showError("操作失败"); 
         return false;
          }
         }
      });
     }



    <c:choose>
           <c:when test="${optype eq 'approval'}">
            <button class="icon-edit" onclick="changeStates(1);">
                审批通过
            </button>
            <button class="icon-edit" onclick="changeStates(2);">
               审批退回
            </button>
            <button class="icon-edit" onclick="changeStates(3);">
               作废
            </button>
           </c:when>
           <c:when test="${optype eq 'payment'}">
            <button class="icon-edit" onclick="changeStates(4);">
                付款
            </button>        
           </c:when>
           </c:choose> 



    { "sName": "id","sColumnDataType":"checkbox","sClass": "keyclass",
                "sColumnDataTypePro":{'name':'key'},"bSortable": false, "aTargets": [ 1 ]},

    posted @ 2011-12-21 22:17 哈希 阅读(167) | 评论 (0)编辑 收藏

    <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>


     $(function(){$("#sendAddress").change(function(){
     
        var sendAddress=$("#sendAddress").val();
        getCustomerInfo(sendAddress);
        });
      });
      //出货方信息填充
      function getCustomerInfo(id){
           //alert(id);
            $.ajax({
                 type: 'get',
                 url: "
    <c:url value='/k4_oldGoldStorsge/getCustomerInfoByAddressId/'/>"+id,
                 dataType: 'json',
                 success: function(data) {
                    alert(data.name);
                    $("#supplyer").val(data.linkman);   
                    $("#supplyIdentityCard").val(data.identification);        
                    $("#supplyerMobile").val(data.mobile);     
                    $("#supplyerPhone").val(data.tel); 
                    //$("#").val(data.);                        
                }
            });
        }
        
        
        
        $(function(){$("#outStorageList").change(function(){
     
        var outStorageList=$("#outStorageList").val();
        //alert(outStorageList);
        //getCustomerInfo(sendAddress);
         getAddressList(outStorageList)
        });
      });
        
        
        
        
        function getAddressList(id){
           //alert(id);
            $.ajax({
                 type: 'get',
                 url: "
    <c:url value='/k4_oldGoldStorsge/getAddressByCustomerId/'/>"+id,
                 dataType: 'html',
                 success: function(data) {
                  var address=eval(data);
                 //遍历取值             
                  $.each(address,function(i,n){
                     $("#getAddress").append($("
    <option value='"+address[i].id+"'></option>").text(address[i].address));  
                  });
                }
            });
        }
        
        
        
         $(function(){$("#getAddress").change(function(){
             var sendAddress=$("#getAddress").val();
             getMenInfo(sendAddress);
           });
         });
        
        
        
        function getMenInfo(id){
            $.ajax({
                 type: 'get',
                 url: "
    <c:url value='/k4_oldGoldStorsge/getCustomerInfoByAddressId/'/>"+id,
                 dataType: 'json',
                 success: function(data) {
                    $("#receiver").val(data.linkman);   
                    $("#receiverIdentityCard").val(data.identification);        
                    $("#receiverMobile").val(data.mobile);     
                    $("#receiverPhone").val(data.tel); 
                    //$("#").val(d
    /**
         * 收货方ID获取地址信息
         * 
    @return
         
    */

        
    public void getAddressByCustomerId(String id) {
            List
    <Address> list=new ArrayList<Address>();
            list
    =oldGoldStorageService.findAddressList(id);
            StringBuilder json 
    = new StringBuilder();
            json.append(
    "[");
            
    for (int i = 0; i < list.size()-1; i++{
                json.append(
    "{'id':'").append(list.get(i).getId()).append("',");
                json.append(
    "'address':'").append(list.get(i).getAddressDeatil()).append("'},");
            }

            json.append(
    "{'id':'").append(list.get(list.size()-1).getId()).append("',");
            json.append(
    "'address':'").append(list.get(list.size()-1).getAddressDeatil()).append("'}");
            json.append(
    "]");    
            System.out.println(json);
            
    this.renderJSON(json.toString());
        }
    ata.);                        
                }
            });
        }
        
        
        
        
        


    1. <script type="text/javascript">   
    2. $(document).ready(function(){   
    3.  var url='TypeGet?d='+Math.random();/*使用随机数解决jquery的缓存问题*/  
    4.  $.get(url,   
    5.    function dedit(data){   
    6.     var m=eval(data);   
    7.         $.each(m, function(i) {   
    8.            //alert(s[i]);   
    9.            $('#pselect').append('<option value="'+m[i].no+'">' + m[i].name+ '</option>');   
    10.   
    11.      });   
    12.   
    13. });    
    14. </script>  

    1. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {   
    2.   // TODO Auto-generated method stub   
    3.   request.setCharacterEncoding("UTF-8");/*解决中文乱码的问题*/  
    4.    response.setCharacterEncoding("UTF-8");   
    5.       
    6.   ArrayList result=new ArrayList();   
    7.   Connection conn=null;   
    8.   Statement st=null;   
    9.   ResultSet rs=null;   
    10.      
    11.   try{   
    12.       
    13.    conn=DBConnection.getConnection();    
    14.    st=conn.createStatement();   
    15.    rs=st.executeQuery("select * from ddpms_devicetype order by name");   
    16.    while(rs.next()){   
    17.     DevicetypeBean dt=new DevicetypeBean();   
    18.     dt.setNo(rs.getInt("no"));   
    19.     dt.setName(rs.getString("name"));   
    20.     result.add(dt);   
    21.    }   
    22.   }catch(Exception e){   
    23.    e.printStackTrace();   
    24.   }   
    25.   finally{   
    26.    try{   
    27.     rs.close();   
    28.     st.close();   
    29.     conn.close();   
    30.    }catch(Exception e){   
    31.     e.printStackTrace();   
    32.    }   
    33.   }   
    34.    response.setContentType("text/html");   
    35.    PrintWriter out= response.getWriter();     
    36.   
    37.    out.write(toString(result));   
    38.  }   
    39.  public String toString(ArrayList s)      
    40.     {      
    41.         String str="[";   
    42.         for(int i=0;i<s.size();i++){   
    43.          DevicetypeBean dt=(DevicetypeBean)s.get(i);   
    44.          str+="{'no':'"+dt.getNo()+"','name':'"+dt.getName()+"'},";   
    45.         }   
    46.         str=str.substring(0,str.length()-1)+"]";    
    47.   return str;     
    48.     }  
    $(function(){$("#logisticsDistributionBook").click(function()
            {
          var checkValues=getCoulmnValue(oTable, 'id');
         // alert(checkValues);
          var aoData = new Array();
          aoData.push( { "name": "ids", "value":checkValues } );
          if(isEmpty(checkValues)){
               showInfo("请选择需要处理的数据行!");
       return false;
            }else if(!isEmpty(checkValues)){
             $.ajax({
              type: 'post',
              url: "<c:url value='/k4_oldGoldStorsge/checkDispatchStatusId/make/1'/>",
              dataType: 'json',
              data: aoData,
              success: function(data) {
              //alert(data);
              if(parseInt(data)>=1){
                 //alert(data);
                 showInfo("必须全部选择没有生成过物流配送书的数据!");
                 return;      
                 }else if (checkProductId()) {
                getHidVal(checkValues);   
                }                 
                }
                 });
            }
           });
        });

    public void checkDispatchStatusId(String type, String id) {
      String myid = request().getParameter("ids");
      String[] ids = myid.split(",");
      int count = 0;
      if ("make".equals(type)) {
       count = oldGoldStorageService.findNumofDispatch(myid);
      }
      this.printHtml(count);
     }

    这两篇也不错!
    http://tochal.iteye.com/blog/722265

    http://blog.csdn.net/huhai463127310/archive/2009/11/29/4901654.aspx

    posted @ 2011-12-21 15:49 哈希 阅读(287) | 评论 (0)编辑 收藏

    --修改TB_C_ACCOUNT_INFO中金账户信息,增加字段:收款人名称、收款人电话。
    --返厂单表 TB_E_BACKFACTORY_BILLS 删除字段:基础金价、产成品ID  CHAR(14 BYTE)
    --alter table TB_E_BACKFACTORY_BILLS drop column CREATETIME;  
    --alter table TB_E_BACKFACTORY_BILLS add CREATETIME CHAR(14 BYTE) not null;
    --2 alter table TB_E_BACKFACTORY_BILLS drop column FINISH_PRODUCT_ID;
    alter table TB_E_BACKFACTORY_BILLS add FACTORY VARCHAR2(64) not null;
    --3alter table TB_E_BACKFACTORY_BILLS add PAYEENAME VARCHAR2(64) not null;
     --alter table TB_E_BACKFACTORY_BILLS add FACTORY VARCHAR2(64);
     --alter table TB_E_BACKFACTORY_BILLS add description VARCHAR2(64);
    --comment on column tb_e_backfactory_bills.description is '备注';     "CREATETIME"            CHAR(14 BYTE) NOT NULL ENABLE,
    --4 alter table TB_E_BACKFACTORY_BILLS add PAYEETEL VARCHAR2(30) not null;
    --5 alter table TB_E_BACKFACTORY_BILLS add ACCOUNT VARCHAR2(64) not null;
    --6 alter table TB_E_BACKFACTORY_BILLS add RETURNDATE CHAR(14) not null;
    --7 comment on column TB_E_BACKFACTORY_BILLS.PAYEENAME is '收款人名称';
    --8 comment on column TB_E_BACKFACTORY_BILLS.PAYEETEL is '收款人电话';
    --9 comment on column TB_E_BACKFACTORY_BILLS.ACCOUNT is '银行帐号';
    --10 comment on column TB_E_BACKFACTORY_BILLS.RETURNDATE is '返厂日期';
    --11alter table TB_L_FINPRODU_FINISH_PRODUCT drop column REMARK
    --12 alter table TB_L_FINPRODU_FINISH_PRODUCT modify AGENCYBUYPRICE default 0 not null;
    --13 alter table TB_L_FINPRODU_FINISH_PRODUCT add AGENCYBUYTOTAL NUMBER(15,4) default 0 not null;
    --14 alter table TB_L_FINPRODU_FINISH_PRODUCT add BASEPRICE NUMBER(15,4) default 0 not null;
    --15 alter table TB_L_FINPRODU_FINISH_PRODUCT add BASEPRICETOTAL NUMBER(15,4) default 0 not null;
    --16 comment on column TB_L_FINPRODU_FINISH_PRODUCT.AGENCYBUYTOTAL is '代回购价格合计';
    --17 comment on column TB_L_FINPRODU_FINISH_PRODUCT.BASEPRICE is '基础价格';
    --18comment on column TB_L_FINPRODU_FINISH_PRODUCT.BASEPRICETOTAL is '基础价格合计';
    --0alter table TB_C_ACCOUNT_INFO add RECEIVERNAME VARCHAR2(64) not null;
    --alter table TB_C_ACCOUNT_INFO add RECEIVERTELEPHONE VARCHAR2(64) ;
    ---comment on column TB_C_ACCOUNT_INFO.RECEIVERNAME is '收款人名称';

    posted @ 2011-12-17 16:00 哈希 阅读(142) | 评论 (0)编辑 收藏

    function savesettle(){
        $(
    "#saveSettle").attr("action","<c:url value='/j8_distributorSummary/saveSettle'/>");
        
        $(
    "#saveSettle").submi
    注意:#id    取值于——form表单的ID值
    t();
    }



    posted @ 2011-12-15 15:57 哈希 阅读(181) | 评论 (0)编辑 收藏

    /**
     * 修改状态
     */
    function changeStates(flag) {
     if(flag == 1){
      if(confirm('确认审批是否通过?')){
       saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/approval'/>");
      }
     }else if(flag == 4){
      if(confirm('确认付款?')){
       saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/payment'/>");
      }
     }else{
      saveStates(flag,"<c:url value='/j8_distributorSettle/listSettle/approval'/>");
     }

    //审批数据提交
    function saveStates(flag,url){
     $.ajax({
        type: 'get',
        url: "<c:url value='/j8_distributorSettle/changeStates/'/>"+flag+"/<c:out value='${result.settleMaster.id}'/>",
        dataType: 'html',
        success: function(data){        
         if(data > 0){
           showInfo("操作成功");       
        window.location.href=url; 
         }else{
           showError("操作失败"); 
        return false;
         }
        }
     });
    }

    $(document).ready(function () {
     ConvertMoney();
    });
    /**
     * 修改状态
     */
    function changeStates(states) {
     $.ajax({
        type: 'get',
        url: "<c:url value='/j8_clientSummary/changeStates/'/>"+states+"/<c:out value='${result.repurchseMaster.id}'/>",
        dataType: 'html',
        success: function(data){        
         if(data > 0){
           showInfo("操作成功");
           if(states == 1){
            url = "<c:url value='/j8_clientSummary/summaryList/1'/>";
           }
           if(states == 2){
            url = "<c:url value='/j8_clientSummary/summaryList/2'/>";
           }
           if(states == 3){
            url = "<c:url value='/j8_clientSummary/summaryList/2'/>";
           }
           if(states == 4){
            url = "<c:url value='/j8_clientSummary/summaryList/3'/>";
           }
           window.location.href = url;       
        query();      
         }else{
           showError("操作失败"); 
        return false;
         }
        }
      });
    }

    function create() {
      var checkValues = getCoulmnValue(oTable,'key');
      if(isEmpty(checkValues)){
       showInfo("请选择要结算的行");
       return false;
      } else {
       checkSettle(checkValues);   
      }
     }
     //结算检查
     function checkSettle(checkValues){  
      $.ajax({
         type: 'get',
         url: "<c:url value='/j8_distributorSummary/checkSettle/'/>"+checkValues,
         dataType: 'html',
         success: function(data){        
          if(data == '1'){       
         window.location.href="<c:url value='/j8_distributorSummary/createSettle/'/>"+checkValues;
          }else{
            showInfo("只能对同一客户进行结算");
         return false;
          }
         }
       });
     }


     function changeStates(flag) {
      var checkValues = getCoulmnValue(oTable,'key');
      if(isEmpty(checkValues)){
       showInfo("请选择数据");
       return false;
      } else {
       if(flag == 1){
        if(confirm('确认审批是否通过?')){
         saveStates(flag,checkValues);
        }
       }else if(flag == 4){
        if(confirm('确认付款?')){
         saveStates(flag,checkValues);
        }
       }else{
        saveStates(flag,checkValues);
       }     
      }
     } 
     //审批数据提交
     function saveStates(flag,checkValues){
      $.ajax({
         type: 'get',
         url: "<c:url value='/j8_distributorSettle/changeStates/'/>"+flag+"/"+checkValues,
         dataType: 'html',
         success: function(data){        
          if(data > 0){
            showInfo("操作成功");       
         query();      
          }else{
            showError("操作失败"); 
         return false;
          }
         }
      });
     }

    function changeStates(states) {
      var checkValues = getCoulmnValue(oTable,'key');
      if(isEmpty(checkValues)){
       showInfo("请选择数据");
       return false;
      } else {
       $.ajax({
          type: 'get',
          url: "<c:url value='/j8_clientSummary/changeStates/'/>"+states+"/"+checkValues,
          dataType: 'html',
          success: function(data){        
           if(data > 0){
             showInfo("操作成功");       
          query();      
           }else{
             showError("操作失败"); 
          return false;
           }
          }
        });  
      }
     }

    posted @ 2011-12-15 15:54 哈希 阅读(168) | 评论 (0)编辑 收藏

    function flushleft(){//给表格的第一行加CLASS=flush_left其下所有都局左对齐
          $('.flush_left').parent().find('th').each(function(i){
             
    if($(this).attr('class')=='flush_left'){
             $(
    this).parents().parent().find('tr').each(function(){
                $(
    this).find('td').eq(i).css('text-align','left')
             }
    )
             }
    ;
          }
    );
       }

       
    function flushright(){//给表格的第一行加CLASS=flush_left其下所有都局右对齐
          $('.flush_right').parent().find('th').each(function(i){
             
    if($(this).attr('class')=='flush_right'){
             $(
    this).parent().parent().find('tr').each(function(){
                $(
    this).find('td').eq(i).css('text-align','right')
             }
    )
             }
    ;
          }
    );
       }

       
    function flushcenter(){//给表格的第一行加CLASS=flush_left其下所有都局中对齐
          $('.flush_center').parent().find('th').each(function(i){
             
    if($(this).attr('class')=='flush_center'){
             $(
    this).parent().parent().find('tr').each(function(){
                $(
    this).find('td').eq(i).css('text-align','center')
             }
    )
             }
    ;
          }
    );
       }

    posted @ 2011-12-15 10:49 哈希 阅读(403) | 评论 (0)编辑 收藏

     <td class="tablealignleft" >
                                                
    <select id="status" name="status">
                                                        
    <option value="">全部</option>
                                                        
    <c:forEach var="sta" items="${statusList}">
                                                            
    <option value="<c:out value="${sta.id}"></c:out>"><c:out value="${sta.name}"></c:out></option>                                                        
                                                        
    </c:forEach>
                                                                            
                                                
    </select>
                                            
    </td>    
    jQuery获取Select选择的Text和Value:
    1. $("#select_id").change(function(){//code});    //为Select添加事件,当选择其中一项时触发
    2var checkText=$("#select_id").find("option:selected").text();   //获取Select选择的Text
    3var checkValue=$("#select_id").val();   //获取Select选择的Value
    4var checkIndex=$("#select_id ").get(0).selectedIndex;   //获取Select选择的索引值
    5var maxIndex=$("#select_id option:last").attr("index");   //获取Select最大的索引值
    jQuery添加/删除Select的Option项:
    1. $("#select_id").append("<option value='Value'>Text</option>");   //为Select追加一个Option(下拉项)
    2. $("#select_id").prepend("<option value='0'>请选择</option>");   //为Select插入一个Option(第一个位置)
    3. $("#select_id option:last").remove();   //删除Select中索引值最大Option(最后一个)
    4. $("#select_id option[index='0']").remove();   //删除Select中索引值为0的Option(第一个)
    5. $("#select_id option[value='3']").remove();   //删除Select中Value='3'的Option
    5. $("#select_id option[text='4']").remove();   //删除Select中Text='4'的Option
    内容清空:
    $(
    "#charCity").empty();

    $(function(){$("#status").change(function(){
           var sdelectValue=$("#status").val();
           alert(sdelectValue);
           getCustomerInfo(sdelectValue)
       });
      });
     
     
       function getCustomerInfo(id){
           alert(id);
            $.ajax({
              type: 'get',
              //url: "<c:url value='/k4_oldGoldStorsge/getCustomer/'/>"+id,
              url: "<c:url value='/k4_oldGoldStorsge/getCustomerInfo/'/>"+id,
              dataType: 'json',
              success: function(data) {
                 alert(data.receivername);
                 $("#receiveName").val(data.receivername);   //name
                 $("#description").val(data.description);        //code
                 $("#receiverId").val(data.account);     //account
                 $("#receiverPhone").val(data.receiverTelephone);  //telephone
                 //$("#").val(data.);                       
             }
            });
     }

    posted @ 2011-12-15 09:43 哈希 阅读(390) | 评论 (0)编辑 收藏

     

     function getCustomer(url, param, width, height){
      
    var rs = window.showModalDialog(url,param,"dialogWidth=" + width + "px;dialogHeight=" + height + "px");
      
    var aValues=rs.split(",");
      $(
    "#supplier").val(aValues[0]);
      getCustomerInfo($(
    "#supplier").val());
     $(
    "#suppliername").val(aValues[1]);
     }


     
     
        
    function getCustomerInfo(id){
            alert(id);
           $.ajax(
    {
              type: 'get',
             url: 
    "<c:url value='/k4_oldGoldStorsge/getCustomer/'/>"+id,
             dataType: 'json',
             success: 
    function(data) {
                 alert(data.name);
                 $(
    "#receiveName").val(data.legalperson);   //name
                 $("#receiverId").val(data.account);        //code
                 $("#receiverBank").val(data.baseBank);     //account
                 $("#receiverPhone").val(data.taxpayerTel);  //telephone
                 $("#").val(data.);                        
             }

           }
    );
     }

     

     

    posted @ 2011-12-15 09:37 哈希 阅读(162) | 评论 (0)编辑 收藏

    jquery代码(jquery 读取table tr td值完成修改功能

    var $td
    =$(td).parents('tr').children('td');
     $(
    "#seshu").val($td.eq(0).find('input').val());
     $(
    "#jshuchudan").val($td.eq(1).find('input').val());
     $(
    "#jshuchuqi").val($td.eq(2).find('input').val());
     $(
    "#jchuantongddan").val($td.eq(3).find('input').val());
     $(
    "#jchuantongdqi").val($td.eq(4).find('input').val());
     $(
    "#schuantongddan").val($td.eq(5).find('input').val());
     $(
    "#schuantongdqi").val($td.eq(6).find('input').val());
     $(
    "#zhizuodan").val($td.eq(7).find('input').val());
     $(
    "#zhizuoqi").val($td.eq(8).find('input').val());
     $(
    "#ganbandan").val($td.eq(9).find('input').val());
     $(
    "#ganbanqi").val($td.eq(10).find('input').val());
     $(
    "#pinbandan").val($td.eq(11).find('input').val());
     $(
    "#pinbanqi").val($td.eq(12).find('input').val());
     $(
    "#jjid").val($td.eq(13).find('input').val());
     
     $(
    "#updateform").submit();

     用Jquery获取table中td的值:

              首先建立一个如下一个两行三列的table

               <table id="tb" style="text-align: center;" width="100%" border="1PX">
                    <tr> <td>A1  </td><td> A2 </td> <td>A3</td> </tr>
                    <tr><td>B1</td> <td>  B2</td><td>B3</td> </tr>
               </table>

            Jquery 代码部分

                  <SCRIPT type=text/javascript src="Jquery/jquery-1.4.2.js">//引入Jquery 插件不能少哦</SCRIPT>

                  <SCRIPT language="javascript" type="text/javascript" >

                    $(function(){
                        //使用jquery 取得table 中td里面的值
                           $("#tb td").click(function(){
                                          alert($(this).text());

                             })
               
                    });</SCRIPT >

     用Javascript 获取table中td的值:

          直接就写JS拉,借用上面table

          <script language="javascript" type="text/javascript">
            function GetTdValue()
            {
                //Javascript 取得table 中TD的值
                var VAL=document.getElementById("tb").rows[1].cells[1];
                alert(VAL.innerHTML)
            }
        </script>





    因为这个tr需要动态增加和删除,并且获得td中的值

    <script src="js/jquery-1.3.2.js" type="text/javascript"> </script>
    <script type="text/javascript">
    function addit(){
       
    var n = $("#paramTable tr:last td").eq(1).html();
       
    if(isNaN(n)) n = 1;
       
    else n++;
        $(
    "#paramTable").append("<tr><td>name</td><td>" + n + "</td><td onclick='delit(this);'>删除</td></tr>")
    }
    function delit(obj){ $(obj).parent().remove();} </script>
    <input type="button" onclick="addit()" value="添加">
    <table border=1 id="paramTable">
    <tr>
    <td width=100>
    参数名称
    </td>
    <td width=100>
    对应列号
    </td>
    <td width=60>
    是否删除
    </td>
    </tr>
    <tr>
    <td>name</td>
    <td>1</td>
    <td onclick="delit(this);">删除</td>
    </tr>
    </table>






     function getMerchandiseTable(){
                var arrMerchandise = [];
                $("#tbOrderMerchandise tr").each(function(){
                     var $MerchandiseIdTd = $("td:eq(0)",$(this) );//商品ID
                     
                     var $quantityTd = $("td:eq(3)",$(this) );//数量
                     var $priceTd=$("td:eq(6)",$(this) );//小计
                     var $DescriptionTd = $("td:eq(7)",$(this) );//备注
                    
                    if($MerchandiseIdTd.text()!="")
                    {
                        arrMerchandise.push($MerchandiseIdTd.text()+"|"+$quantityTd.text()+"|"+$priceTd.text()+"|"+$DescriptionTd.text());
                    }
                });
                $("#hidDetailList").val(arrMerchandise.join(","));
            }



    private List<hanvnet.Dto.Page.Table.DeliveryFeePage> GetDeliveryFeeList(string strChargerId)
        {
            string strFeeInput = hdFeeList.Value;

            List<hanvnet.Dto.Page.Table.DeliveryFeePage> lstFee
                = new List<hanvnet.Dto.Page.Table.DeliveryFeePage>();
            hanvnet.Dto.Page.Table.DeliveryFeePage deliveryFeePage = null;

            string[] strFeeList = strFeeInput.Split(Char.Parse(","));
            for (int i = 0; i < strFeeList.Length; i++)
            {
                deliveryFeePage = new hanvnet.Dto.Page.Table.DeliveryFeePage();
                string[] strFeeDetailList = strFeeList[i].Split(Char.Parse("|"));
                deliveryFeePage.DeliveryId = _deliveryId;
                deliveryFeePage.FeeId = int.Parse(strFeeDetailList[0]);
                deliveryFeePage.ReceiveId = strChargerId;
                deliveryFeePage.PlanAmount = decimal.Parse(strFeeDetailList[1]);
                deliveryFeePage.Description = strFeeDetailList[2];
                deliveryFeePage.DataStatus = 1;
                deliveryFeePage.InsDateTime = DateTime.Now;
                deliveryFeePage.InsUserId =       this.Session[hanvnet.Common.Utils.Constraints.C_SESSION_LOGINID].ToString();
              lstFee.Add(deliveryFeePage);
            }
            return lstFee;
        }
    function UnOffOrderAmount(){
            //alert("不优惠");
              var UnoffOrderAmounts=0;
              $("#tbOrderMerchandise tr").each(function(){
                     var $priceTd=$("td:eq(6)",$(this) );//优惠金额
                   
                    UnoffOrderAmounts+=$priceTd.text()*1;
                   
                });
                return UnoffOrderAmounts;
            }

    <td class="tablealigncenter" nowrap>
            <input type="text" name="countId" id="countId" onblur="getAgentAccountMoney(this)"></>
        </td>

     //alert($($($AgentMoney)).find("input").get(0).value);


     function getBillsTable(){
                    var arrbills = [];
                    $("#mainTableBody tr").each(function(){
                    var $productId=$("td:eq(1)",$(this) ); 
                    var $baseGoldPrice=$("td:eq(5)",$(this));
                    var $baseGoldAcountPrice=$("td:eq(6)",$(this));
                    var $AgentMoney=$("td:eq(7)",$(this));
                     //alert($($($AgentMoney)).find("input").get(0).value);
                    var $AgentAccountMoney=$("td:eq(8)",$(this));
                    // alert($($AgentAccountMoney).find("input").get(0).value);
                     if($productId!=null){
                      arrbills.push($productId.text()+"/"+$baseGoldPrice.text()+"/"+$baseGoldAcountPrice.text()+"/"+$($AgentMoney).find("input").get(0).value+"/"+$($AgentAccountMoney).find("input").get(0).value);
                      }
                    });
                    $("#hidTableValue").val(arrbills.join(","));
                    $("#createfrom").attr("action","<c:url value='/k4_oldGoldStorsge/saveFactoryBills'/>");
                    $("#createfrom").submit();
              }

    posted @ 2011-12-15 09:23 哈希 阅读(7822) | 评论 (1)编辑 收藏

     

    1. 班级  科目   分数  
    2. 1     语文   8800  
    3. 1     数学   8420  
    4. 1     英语   7812  
    5. ……  
    6. 2     语文   8715  
    7. 2     数学   8511  
    8. 2     英语   8512  
    9. ……  
    10.    
    11.    
    12. 要求转换成下面这样的结果  
    13. 班级    语文    数学    英语  
    14. 1       8800    8420    7812  
    15. 2       8715    8511    8512  

     

     

    这是一个非常经典的 4属性的表设计模式,顾名思义,这样的表一般有四列,分别是:entity_id, attribute_name, attribute_type, attribute_value ,这样的设计使我们添加字段非常容易,如:我们想添加一个物理成绩是非常简单的,我们只要向表中插入一条记录即可。但是,这样的设计有一个非常严重的问题,那就是:查询难度增加,查询效率非常差。

    要想实现上面的查询有一个原则,那就是:通过case语句创造虚拟字段,使结果集成为二维数组,然后应用聚合函数返回单一记录。怎么样?不理解,仔细看看下面的图和分析下面的语句你就理解了。

     

    1. create table score  
    2. (  
    3.     banji integer,  
    4.     kemu varchar(10),   
    5.     fengshu integer  
    6. )  
    7. go  
    8.    
    9. insert into score values  
    10. (1, '语文', 8800),  
    11. (1, '数学', 8420),  
    12. (1, '英语', 7812),  
    13. (2, '语文', 8715),  
    14. (2, '数学', 8511),  
    15. (2, '英语', 8512)  
    16. go  
    17.    
    18. select banji,  
    19.        max(yuwen)        语文,  
    20.        max(shuxue)       数学,  
    21.        max(yingyu)       英语  
    22. from    
    23.      (select  banji,  
    24.               case kemu  
    25.                when '语文' then fengshu  
    26.                else 0  
    27.              end                         yuwen,  
    28.              case kemu  
    29.                when '数学' then fengshu  
    30.                else 0  
    31.              end                         shuxue,  
    32.              case kemu  
    33.                when '英语' then fengshu  
    34.                else 0  
    35.              end                         yingyu  
    36.       from score  
    37.       ) as inner  
    38. group by inner.banji  
    39. order by 1  
    40. go  

     

     

    你可能正在感叹,这样的解决方案是多么的巧妙,可惜不是我想出来的,在这里,我也不敢把大师的思想据为己有,以上思想来自<SQL语言艺术>的第11章,想了解更全面的信息,大家可以参考。

     

     

    posted @ 2011-12-07 10:36 哈希 阅读(312) | 评论 (0)编辑 收藏

    好久没用List去保存一个JDBC查询结果,查询出来的ResultSet只执行了一次,然后就报NullPointException。明明数据库中有数据,就是执行不了第二次,一到把对象添加到list上面就直接报异常,郁闷了半天。
    Java代码 复制代码 收藏代码
    1. public List<Terminal> getTerm(String user){   
    2.             List<Terminal> termlist= null;//这里出现问题,没有new一个List   
    3.             //改为List<Terminal> termlist= new ArrayList();,   
    4.               //new一个ArrayList就没事了,日,以前初学的时候也得过这种问题...汗   
    5.                         try {   
    6.                 con = DBPool.getPool().getConnection();   
    7.                 ps =con.prepareStatement("select * from gps_termcodetable where kh_user=?");   
    8.                 ps.setString(1, user);   
    9.                 rs = ps.executeQuery();   
    10.                 while(rs.next()){   
    11.                     Terminal term = new Terminal();   
    12.                     String number = rs.getString("hm_number");   
    13.                     String nick = rs.getString("mc_nick");   
    14.                     term.setZhNumber(number);   
    15.                     term.setLisence(rs.getString("mc_nick"));   
    16.                     termlist.add(term);   
    17.                 }   
    18.                 rs.close();   
    19.                 ps.close();   
    20.                 con.close();   
    21.             } catch (SQLException ex) {   
    22.                 Logger.getLogger(GetTerminal.class.getName()).log(Level.SEVERE, null, ex);   
    23.             }   
    24.          return termlist;   
    25.     }  

    后面才发现没有new一个ArrayList,郁闷了,还犯这种错误,久了没用也会生疏

    posted @ 2011-12-05 22:14 哈希 阅读(1223) | 评论 (0)编辑 收藏