??xml version="1.0" encoding="utf-8" standalone="yes"?>麻豆影视在线,中文字幕在线免费观看视频,一卡二卡3卡四卡高清精品视频http://www.aygfsteel.com/zhangsenwei/张森炜的博客zh-cnWed, 18 Jun 2025 20:38:55 GMTWed, 18 Jun 2025 20:38:55 GMT60SSH快速开发与整合(一)http://www.aygfsteel.com/zhangsenwei/archive/2009/08/31/293290.html张森?/dc:creator>张森?/author>Mon, 31 Aug 2009 05:15:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/31/293290.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/293290.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/31/293290.html#Feedback0http://www.aygfsteel.com/zhangsenwei/comments/commentRss/293290.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/293290.html阅读全文

]]>
SSH快速开发与整合(一)http://www.aygfsteel.com/zhangsenwei/articles/293288.html张森?/dc:creator>张森?/author>Mon, 31 Aug 2009 03:57:00 GMThttp://www.aygfsteel.com/zhangsenwei/articles/293288.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/293288.htmlhttp://www.aygfsteel.com/zhangsenwei/articles/293288.html#Feedback1http://www.aygfsteel.com/zhangsenwei/comments/commentRss/293288.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/293288.html题外话:
        自从由开发h员{为培训讲师后Q发C很多技术的知识Ҏ不全面的Q在开发中只要只要能够满功能OK了。但是发现到了讲师的职位后还需要掌握很多以前很多没有接触过的知识点。然而对于开发经验少Q代码量不多Q基有限的学员来说就很头大了。所以我惛_知识点进行整理,写成一pd的文章,能够让他们快速的上手和开发,q也是ؓ什么将q一pd文章起名叫做《SSH快速开发与整合》。本pd文章的书写目的不是让大家了解多么新的技术和多么炫的面效果Q而是想ؓ入门者提供一条更快的捷径?br />         ׃qx白天工作比较忙时间紧Q一直担心怕写不完Q但q次我下了很大决心将他写完。由于是W一ơ写q么pȝ的文章,里面会有很多不Q就请大家担待吧?/p> 我们废话说开始我们的正题?br /> 开发环境:在本pd文章中,我们会用到的开发工h MyEclipse6.5 Blue 版本Q服务ؓQTomcat6.0Q数据库为:Mysql6.0 ?br />
 

W?/span>1?/span>基础知识回顾

Z能够更清晰的了解struts 框架工作原理Q我们需要对 JSP 部分知识点进行回?/span>

1.1   web应用E序中的Model1?/span>Model2模型

 

在最早的 Java Web 应用E序中,JSP文g几乎担Q了所有的工作如图1-1所C。其中包括了面的显C、请求蟩转的控制、业务的处理{等Q这U方式在实际的项目开发中目要是代码量少点也无所谓了Q如果代码量大的情况下要用这U方式开发出来的E序html代码?/span>java代码?/span>javascript脚本代码混在一起对于后期代码的l护是一仉帔R烦的事。所以这U方式的开发没有被业界l出什么明的定义?br />


 


    Z解决q种问题
Sun公司制定了两U架构模?/span> Model 1 ?/span> Model 2?/span>

1.1.1          Model 1

 

  


    Z解决直接?/span>JSP面上写代码可读性差的问题,我们原先写?/span>JSP面上的业务逻辑代码提出来写?/span>JavaBean中如?/span>1-2。此?/span>JSP充当了视囑ֱ为客L提供了请求和响应Q再?/span>Jsp调用JavaBeanq行处理业务逻辑。这U架构方式我们往往UC?/span> Model 1?/span>

?/span>Model1中,我们可以看出 Jsp 不但完成了对客户端的h和应{工作还担Q着调用不同业务cȝh跌{工作。但q个架构比v直接?/span>JSP面上写代码已经好多了,Model1中已l将业务代码从页面中的控制代码和Html代码中进行了分离。至当E序业务代码出现问题Ӟ我们不再会到JSP面中去L修改业务逻辑代码了?/span>

此时Model1比v直接?/span>JSP面上写代码已经强多了,但是对于大型目而言q是不能够满I毕竟JSP面中还有控制蟩转的代码存在?/span>

1.1.2          Model 2

 

Z解决Mdel1中控制器代码?/span>HTML?/span>JavaScript代码写在一PSun公司制定?/span>Model2Q在Model2中引入了“控制?#8221;概念Q而控制器往往?/span>Servlet充当。此?/span>JSP面中只剩下?/span>HTML代码和一些客Ljavascript脚本代码Q请求由控制?/span>Servletq行控制跌{C同的JAVABean或?/span>JSP面Q这?/span>Jsp中只提供对客L界面视图我们用英文单?/span>View表示Q?/span>Servlet只完成请求的跌{工作我们可以用英?/span>Controller表示Q?/span>JavaBean中完成业务逻辑和数据的装我们可以?/span>Model表示Q这h们将 View - Controller - Model三个单词的第一个字母提取出来就是我们所谓的 MVC 模式了?/span>

1.2   MVC的概q?/span>

MVC?/span>Model(模型) - View视图()-Controller(控制?/span>)三个单词的羃写?/span>MVC?/span>J2EE?/span>的一U模式,是针对于整个应用E序l构而言的,所?/span>MVC模式从尺度上来讲要比我们qx所说的java设计模式要大。关?/span>java设计模式在此׃做过多的讲解了,读者可以参考阎宏博士所写的?/span>Java与模式?/span> ?/span>

?/span>J2EE中有很多技术都可以实现MVC模式比如我们马上要学习的struts框架技术就?/span>MVC的一U实玎ͼq有 JSF?/span>WebWork{等?/span>

接下来我们需要搞清楚的一个问题就?/span>J2EE?/span>MVC?/span>Struts他们之间L关系。在此我们拿 宇宙 、太阳系 、地球来q行说明Q我们都知道我们的地球是隶属于太阳系的,但是q个太阳pM不仅仅只有地球,q有火星、木星等{星球构成。例子中的太阳系q当于MVC模式而地球相当于strutsQ从而我们知?/span>MVC模式q不是只?/span>struts能够实现Q还有其他很多技术可以实玎ͼ像上面提到过?/span>JSF?/span>WebWork{等技术,所以我们只能够?/span>struts?/span>MVC模式的一U实现方式。?/span>MVC?/span>J2EE之间的关pd像太阳系和宇宙的关系一P宇宙中有很多cM于太阳系的星p,所?/span>MVC知识J2EE中的一U模式,如图1-4所C:



 

1.3 配置一?/span> Servlet

Z让读者对E序有更q理解Q在E序实例中全部都采取手工搭徏和配|?/span>(此处作者用的?/span>MyEclipse6.5Bule版本)

     首先我们?/span>MyEclipse中创Z?/span>web应用E序步骤如下Q?/span>

(1) 选择 File ?/span>?→ New → Project ”Q如?-5所C?/span>

 

(2)在弹出的New ProjectH口中,选择“Web Project”Q然后点?#8220;Next”按钮Q如?/span>1-6所C?/span>

           
                            ?-6                                                                                         ?-7

(3)?#8220;New Web Project”对话框的“Project NameQ?#8221;?/span>web工程起个名字Q此处我们v名ؓ frist_Servlet 。将J2EE Specification Level选中 Java EE5.0 其他的不需要改变,默认好了,单击“Finish”按钮Q如?/span> 1-7 所C?/span>

(4)对准创徏好的web工程下的“src目录右键” → 选择“New” → 选择“Class”,如图1-8所C?/span>

 

(5)在弹出的New Java Class对话框中?/span> NameQ?#8221;中输?/span>HelloWordQ其他的不需改变Q点?#8220;Finish”按钮Q如?/span>1-9所C?/span>

 

(6)修改HelloWorldcȝ代码Q让其承于javax.servlet.http.HttpServletc,代码如下Q?/span>

 
1 package com.study.struts.;
2 
3 import javax.servlet.http.HttpServlet;
4 
5 public class HelloWorld extends HttpServlet{
6 
7 }
8 

注意Q在web应用E序中要想一个普通的Classcd成一?/span>Serlvet 必让q个普通类l承?/span>javax.servlet.http.HttpServletcR?/span>

(7)?/span>HelloWorld重写父类javax.servlet.http.HttpServlet中的“doGet ҎQƈ输出“HelloWorld”Q具体代码如下:

 

 1 import javax.servlet.ServletException;
 2 import javax.servlet.http.HttpServlet;
 3 import javax.servlet.http.HttpServletRequest;
 4 import javax.servlet.http.HttpServletResponse;
 5 
 6 public class HelloWorld extends HttpServlet {
 7     @Override
 8     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
 9             throws ServletException, IOException {
10         System.out.println("HelloWorld");
11     }
12 }
13 


 (8)打开“WebRoot”目录 WEB-INFweb.xml”文gQ如图所C。在打开?#8220;web.xml”文g中配|?/span> HelloWorld ?br />

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" 
 3     xmlns="http://java.sun.com/xml/ns/javaee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 7     <servlet>
 8        <servlet-name>helloWorld</servlet-name>
 9        <servlet-class> com.study.struts.HelloWorld</servlet-class>
10     </servlet>
11     <servlet-mapping>
12       <servlet-name>helloWorld</servlet-name>
13       <url-pattern>*.do</url-pattern>
14     </servlet-mapping>
15   <welcome-file-list>
16     <welcome-file>index.jsp</welcome-file>
17   </welcome-file-list>
18 </web-app>
19 

 

(9)打开“WebRoot”目录中的“index.jsp”文gQƈ修改代码如下Q?/span>

 
 1 <%@ page language="java" pageEncoding="GB18030"%>
 2 <html>
 3     <head>
 4         <title>手工配置的第一个Servlet</title>
 5     </head>
 6     <body>
 7          <href="click.do">点击试ServletE序</a>
 8     </body>
 9 </html>
10 

注意Q在“index.jsp”面W一句代码中Q?/span>

<%@ page language="java" pageEncoding="GB18030"%>

      有一?/span>pageEncoding 属性,他表C当?/span>jsp面的编码格式,GB18030为编码集Q?/span>pageEncoding 属性默认ؓISO-8859-1~码集,?/span>ISO-8859-1~码中是不支持中文字W的Q换句话说也是如果当前面pageEncoding="ISO-8859-1" 那么当前面中是不允许出C文字W的Q所以此处我们将pageEncoding的值改?#8220;GB18030。在Java~程中常见的~码集有以下几种Q?/span>

~码集名U?/span>

是否支持中文

ISO-8859-1

不支?/span>

UTF-8

支持

GB2312

支持

GBK

支持

GB18030

支持

(10)部v应用E序Q如?/span>1-11所C?/span>

 
(11)q行webE序Q如?/span>1-12所C,?/span> IE 览器地址栏输?/span>http://localhost:8080/frist_Servlet 如图1-13所C?/span> 
               

׃我们?/span>9步中写过  <a href="click.do">点击试ServletE序</a>  代码当我们点击超链接“点解试ServletE序”Ӟ览器将会发Z?/span> click.do 的请求,此时web应用E序会接收到览器发出的click.dohQ因为我们在W?/span>8步中?/span>web.xml配置q如下代码:

 
1 <servlet-mapping>
2       <servlet-name>helloWorld</servlet-name>
3       <url-pattern>*.do</url-pattern>
4     </servlet-mapping>
5 
6 

其中 <url-pattern>*.do</url-pattern> 表示只要jsp面发出的所有以 .do l尾的请求都会被拦截。拦截后的请求会自动扑ֈ <servlet-name>helloWorld</servlet-name> q取得到?/span> helloWorld Qƈ会带着“helloWorld”值到下面q段代码d?/span><servlet>的子标签<servlet-name>的值和“helloWorld”相等的一V?/span>

 
1 <servlet>
2 <servlet-name>helloWorld</servlet-name>
3 <servlet-class> com.study.struts.HelloWorld</servlet-class>
4 </servlet>
5 

当请求被L到后E序会自动将h跌{到所对应?/span><servlet-class>标签所配置的类中执?/span>doGet ҎQ调用流E如?/span>1-14所C?/span>

 

E序最后会?/span>Eclipse控制C打印“”Q运行结果如?/span>1-15所C:

 

]]>
《FlexW一步》第二章PDF下蝲http://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293072.html张森?/dc:creator>张森?/author>Sat, 29 Aug 2009 02:30:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293072.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/293072.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293072.html#Feedback1http://www.aygfsteel.com/zhangsenwei/comments/commentRss/293072.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/293072.html 《FlexW一步》第二章下蝲

]]>
《FlexW一步》第三章3.2 使用lghttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293068.html张森?/dc:creator>张森?/author>Sat, 29 Aug 2009 02:19:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293068.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/293068.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/29/293068.html#Feedback0http://www.aygfsteel.com/zhangsenwei/comments/commentRss/293068.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/293068.html3.2 使用lg

?nbsp;MXML 中,除了 Application标签外,q提供了大量的标{供我们使用?/font>

例如上面代码中出现的Button?/font>Label标签Q处理界面结构的Canvas?/font>Box标签Q网中常见的下拉框、多选框、单选框、复选框Q用来显C数据的DataGrid?/font>Tree{等。每个标{N对应一个类文g?/font>

3.2.1 插入lg

?font face="Times New Roman">MXML中组件用v来非常简单,比如插入一个按钮,~写代码Q?/font>

<mx:Button></mx:Button>

q一寚w合的标签在界面上绘制出一?font face="Times New Roman">Buttonlg。在XML中,所有标{ֿ闭合。和正常标签相比Q闭合标{֏是在前面d了一?#8220;/”。也是用另一UŞ式:

<mx:Button />

/”W号是闭合标{写Ş式,通常用于单行的节点,描述一个单独的元素。如果标{֌含子节点Q则不能采用写?/font>

MXML中,lg的属性(如长、宽、位|等Q是作ؓ节点的属性出现的Q比如:

<mx:Button width="200" hieight="200"></mx:Button>

lg按照功能大致可分Zc:

布局c,包括所有的容器cdlgQ比?nbsp;HBox?/font>Panel{?/font>Spacer?/font>HRule ?nbsp;VRule不是容器cdQ但主要用于布局Q因此也归于此类?/font>

Dc,包括菜单条、按钮条{各U导航功能的lg?/span>

交互c,包括内容展示、数据交互相关组Ӟ如按钮、下拉框、图片、视频等{?/span>

Flex Builder的组仉板中列出了所有的可视化组件。在设计模式试图下,可以直接从组仉板将lg拖入到编辑区Q同时自动生成程序代码?/font>

如果要用非可视化组Ӟ则需要输入代码。在代码试图中输?font face="Times New Roman"><mx: q时候跟q的代码提示H口列?/font>mx I间下所有的对象Q如?nbsp;3.1 所C?/font>


3.2.2自定?/font>MXMLlg

在实际开发中Q尤其是一个大型应用中Q我们不会把所有的代码都塞q一个文件中。可以想象,修改一个几千行的文件是件痛苦的事。因此,对程序进行功能分割是非常必要的。这带来的好处很多,明显的一Ҏ让开发者能够分工合作,提高E序的重用性,降低了维护的隑ֺ?/span>

Zl徏的开发模式是Flex的一个特艌Ӏ一?/font>FlexE序是由若干个组件构成的。程序中所有的MXML文g?/font>ActionScriptcLӞ都被当作用户自定义的lg。用戯定义的组件和Flex本n的组件在用法上完全一P它们的区别在于:Flexlgl过装Q可以被LE序使用Q而用L件在特定的程序中才可以用?/font>

一般我们将E序中功能能够独立或者需要返复用的部分定义成一个用L件。编写程序时Q应当尽量减组件与lg之间的直接联p,降低块与块之间的依赖性?/span>

在程?font face="Times New Roman">Example_1中,我们来新Z?/font>MXMLlg。在D区,在空白区域单击鼠标右键,在弹出的菜单中选择 New ----> MXML ComponentQ见?/font>3.2?/font>

然后会弹出如?nbsp;3.3 所C的对话框?/font>


q里要给创徏lg的文件名Qƈ选择是扩展来自哪一U组Ӟ包括所有可视化lg和用户已l自定义的组Ӟ也就是说可以在已l扩展的基础上就l箋扩展?/span>

选择Image对象Q单?/font>Finish按钮Q一个新?/font>MXML文g被创ZQ切换到设计视图Q点?/font>ImagelgQ在属性面板会看到他的常见属性,见图3.4。其?/font>Source属性即囄的\径。选择好图片后Q这个组建就完成了,见图3.5?/font>


                      

myImage.mxml的文件内容如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Image  xmlns:mx="http://www.adobe.com/2006/mxml" source="pic/animal.png">
3 </mx:Image>

    再次切换到设计模式视图。这Ӟ在组仉板上Q?font face="Times New Roman">Custom分类中出C新添加的lg名。想使用Flex自带的组件一P?/font>myImagelg从组仉板拖攑ֈȝ序中Q图片显C正常。切换到代码模式视图Q?/font>Example_1.mxml文g的内容变化了Q?/p>

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">
3     <ns1:myImage x="30" y="30"/>
4 </mx:Application>

    h意,?font face="Times New Roman">Application标签中,多了一个属性:xmlns:nsl="*"Q这便是本章3.1.2节中讲到的自定义命名I间。这里边机器自动d了名?#8220;nsl”的命名空_程序目录下所有的MXMLlg都纳入其中。因此,插入?/font>myImagelg的代码相应变为:

<nsl:myImage x="30" y="30" />

    在实际开发中Qؓ了更好地规划E序的结构,我们一般根据功能来划分命名I间。新建文件夹“view”Q将myImage攑֜其中?#8220;view”有视图、视界的意思,我们把所有和界面相关的组仉攑֜q里面,q样看文件夹的名字就知道里面的大致内容了。修改后Q?/font>Exaple_1.mxml文g的代码如下:

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="wiew.*">
3     <view:myImage x="30" y="30"/>
4 </mx:Application>

q行E序Q效果如?font face="Times New Roman">3.6所C:



说明Q由于在|上相关资源太少所以本文是按照《FlexW一步》编写,׃旉比较短所以第三章内容没有全部出来同时~写q程中有错别字,请大家担待。^_^



]]>
《FlexW一步》第三章3.1MXML语法http://www.aygfsteel.com/zhangsenwei/archive/2009/08/28/292998.html张森?/dc:creator>张森?/author>Fri, 28 Aug 2009 09:35:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/28/292998.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/292998.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/28/292998.html#Feedback0http://www.aygfsteel.com/zhangsenwei/comments/commentRss/292998.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/292998.html

3.1  MXML语法

通常情况下,FlexE序׃下三U文件组成:

?nbsp;mxml为后~的程序文?/font>

?nbsp;as 为后~?nbsp;ActionScript 文g

?font face="Times New Roman">css 为后~的样式表文g

MXML文g好比大脑,as文g?/font>css文g是他的手和脚Q主E序MXML文g项目中的所有文件组合在一P形成一个有机的整体?/font>

本章要说?font face="Times New Roman">MXML的语法,q结合实力分?/font>MXML文g的内容结构?/font>

在上一章的实例中,创徏了一个简单的FlexE序Q主E序文g是一?#8220;mxml”为后~名的文gQ这个文件所采用的便是我们这里要讲的MXML语言?/font>

MXML语言Q是专门用于FlexE序中,描述界面表现的一U?/font>XML标记语言。我们可以用它来理E序的整体布局Q控制组建的央视和外观,也可以构建非可视化的对象Q比?/font>XML数据、与服务器端通信?/font>WebService、组件的数据源等{?/font>

3.1.1 命名规范

cM|页中实用的HTML语言Q?/font>MXML提供了一pd的标{供用户使用Q到?/font>MXML的语法更严格的多Q他提供的内|标{也更丰富?/font>

MXML区分大小写,且文件名和变量标识名都区分大写。字母大写错误是编E中常见的错误,隐蔽性较高,有时很难排错。在~写代码Ӟ应采用合理的命名规范Q避免出现这c错误?/font>

?font face="Times New Roman">FlexE序中,每个MXML文g必须以小写的“mxml”作ؓ后缀Q文件名要遵?/font>ActionScript中变量的命名规则。因为在E序中,所有的MXML文g名可以直接被ActionScript当作一U用户定的数据类型来使用。因此,MXML文g名不能和ActionScriptcL件同名,否则׃造成cd冲突。在ActionScript中,变量名必M字母或下划线开始,且只能包含字母、数字和下划Uѝ?/font>

需要注意的是,MXML文g不能名ؓ“application” ,application”是住E序文g所采用的默认标讎ͼ不可以在被用。也不能和程序中Llg?/font>id值同名?/font>

例如Q下面是HelloWorld.mxml文g的源代码Q?/font>

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
3   <mx:Button id="btn" x="51" y="107" label="Click me" click="trace('q是点击后的文字')"/>
4   <mx:Label id="tip_txt" x="182" y="109" text="q是点击前的文字" fontSize="12" width="136"/>
5 </mx:Application>

试作如下修改:

<mx:Label id="HelloWorld" x="182" y="109" text="q是点击前的文字" fontSize="12" width="136"/>

 

再次~译Q将无法通过~译Q得到如下错误信息:identifier and class may not have the same nameQ意思是说组件的唯一标识?#8220;id”不可以和对象重名?/font>

q有一点说明:E序不可以?#8220;mx”作ؓ目录名?#8220;mx”?/font>Flex Framework的官方组件库的命名空_受到Flex~译器的保护。假如在E序目录中创Z名ؓ“mx”的目录,q个目录中存攄MXML文g?/font>ActionScriptcL仉无法用,会被~译器忽略?/font>

Z避免文g名冲H,同时也ؓ了增强程序的可读性,文g和变量一般采用有意义的单词、名词简写或字符l合来命名。下面介l一些习惯用法:

       (1) 用类型的写作后缀Q比如:LoginPanel表示登陆面板Q?/font>SendBtn表示发送按钮;UserTxt表示文本lg?/font>

       (2) 使用下划U组合单词,比如Q?font face="Times New Roman">User_Name?/font>User_Email表示用户的信息;Move_Speed表示速度?/font>

       (3) 帔R全部使用大写Q比如:PI表示圆周率;CLICK_EVENT表示点击事g名?/font>

不管时用哪U方式,目的都是Z提高E序的代码质量,q对开发和日后的维护都很有帮助?/span>

3.1.2 MXML文gl构

一?font face="Times New Roman">MXML文g由哪些元素构成?我们已经知道MXML文g其实是一个标准的mxl文gQ因此可以参?/font>XML语法来分?/font>MXML文g的内宏V?/font>

q里仍然以上一章实例的代码ZQ?/span>

1 <?xml version="1.0" encoding="utf-8"?>
2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
3   <mx:Button id="btn" x="51" y="107" label="Click me" click="trace('q是点击后的文字')"/>
4   <mx:Label id="tip_txt" x="182" y="109" text="q是点击前的文字" fontSize="12" width="136"/>
5 </mx:Application>

?font face="Times New Roman">MXL文g中,需要在W一行声?/font>XML文g采用的语法版本号和文仉用的~码格式。从上面的代码中可以看到q两个属性:version?/font>encodingQ其?/font>encoding~码格式q个属性是可选的。选定的编码格式必ȝ合文仉用的~码格式Q默认ؓutf-8格式。在中文操作pȝ中,一般都使用utf-8q个~码格式Q他兼容采用双字节编码的语言(包括中文、韩文、日文等)和其他常见的西方语言Q而且跨^収ͼ是用最q发的编码格式。另外也可以使用体中文专用编?/font>gb2312.

mx:Application标签是一个特D的标签。在每个Flex目中,可能有多?/font>MXML文gQ但作ؓE序入口的运行文件只有一个,L件的标示是根节点?/font>mxQ?/font>ApplicationQ一个程序中只能出现一?/font>mxQ?/font>Application节点?/font>

在根节点中,q看C一个属性:xmlns:mx=http://www.adobe.com/2006/mxmlQ表C将mx定义?/font>MXL的命名空间?/font>xmlns标签专门用来定义XML的命名空_XML命名I间可以用来定义一套独立的XML标签Qƈ且ؓq些标签制定Ҏ的解析方式。比?/font>XML中默认的标签格式为:<Button>node</Button>Q这里的Button节点被作Z个普通的文本节点Q没有什么特D的意义。定义命名空间后Q在节点上就׃I间前缀Q?/font><mx:Button></mx:Button>Q这时?/font>mx:Button ׃?/font>mxI间下的Button对象?/font>

mx命名I间对应的\径是“http://www.adobe.com/2006/mxml,Flex的配|文件中这个\径定义ؓ一个全局资源标识W,q对应了一?/font>MXL文g。在q个文g中,列出?/font>mx命oI间下的所有标{。在Flex Builder2的安装\径下Q进?/font>Flex SDK2\frameworks目录中,扑ֈflex-config.xml 文gq用记事本或其他编辑工h开Q找C面的内容Q?/font>

1 <namespaces>
2    <!—Specify a URI to associate with a manifest of components for use as MXML-->
3    <!—elements.
4    <namespace>
5       <uri>http://www.adobe.com/2006/mxml</uri>
6       <manifest>mxml-manifest.xml</manifest>
7    </namespace>
8 </namespaces>

从上面的配置中发玎ͼhttp://www.adobe.com/2006/mxml q个URI?/font>mxml-manifest.xml文g对应。下面打开同目录下?/font>mxml-manifest.xml 文gQ里面列ZMXML中的所有标{֒与标{关的cL件\径?/font>

 1 <?xml version="1.0"?>
 2 <componentPackage>
 3     <component id="Accordion" class="mx.containers.Accordion"/>
 4     <component id="AddChildAction" class="mx.effects.AddChildAction"/>
 5     <component id="AnimateProperty" class="mx.effects.AnimateProperty"/>
 6     <component id="Application" class="mx.core.Application"/>
 7     <component id="ApplicationControlBar" class="mx.containers.ApplicationControlBar"/>
 8     <component id="ArrayCollection" class="mx.collections.ArrayCollection"/>
 9     <component id="Blur" class="mx.effects.Blur"/>
10     ..
11     .
12     <component id="SecureHTTPChannel" class="mx.messaging.channels.SecureHTTPChannel"/>    
13     <component id="SecureRTMPChannel" class="mx.messaging.channels.SecureRTMPChannel"/>
14 </componentPackage>

 

在这份列表中Q节点的id代表标签名,class表示cL件的路径。比?/font>mx:Application标签Q也是对应?/font>mx.core.ApplicationcR?/font>

在开发中Q当E序中有很多?font face="Times New Roman">MXML文g?/font>AS文gӞZ方便调用Q我们可以将功能cM的文件放在一个文件夹中,定义一个命名空_q样会节省很多时间。在自定义命名空间时Qؓ了方便,一般直接指定命名空间包括的标签路径。比如:

xmlnsQ?/font>myComp="components.*"

因ؓ使用了通配W?#8220;*”Q?/font>components目录下的所?/font>MXML文g?/font>ActionScriptcL?/font>(不包括目录和目录中的文g)都被包括?/font>myComp命名I间下。假?/font>components中有一?/font>LoginPanelmxml文gQ则在程序中调用者个文gӞ代码如下Q?/font>

<myCompQ?/font>LoginPanel></myCompQ?/font>LoginPanel>

myComp下的标签被自动指?/font>components中的文g?/font>

当标{数量较多且分布在不同文件夹Ӟ可以模仿Flex配置文g的做法,使用XML文g来描q标{路径。在后面的内容中Q我们会l常看到命名I间的用?/font>

Application标签中还有一个属?/font>layoutQ这个属性定义了Application节点下元素的布局方式。由?/font>Application是根节点Q因此他的布局方式军_了程序的M布局方式?#8220;absolute”表示军_定位Q所有子元素按照各自的x?/font>y坐标来定位?/font>

Application节点中有两个子节点,分别?/font>mx:Button?/font>mx:Label节点Q代表了两个lgQ节点中的属性定义了lg初始化后的一些状态,比如坐标、标C名、文字等{?/font>


说明Q由于在|上相关资源太少所以本文是按照《FlexW一步》编写,׃旉比较短所以第三章内容没有全部出来同时~写q程中有错别字,请大家担待。^_^



]]>
JQery获取IE和Firefox中的Event对象http://www.aygfsteel.com/zhangsenwei/archive/2009/08/21/292133.html张森?/dc:creator>张森?/author>Fri, 21 Aug 2009 09:37:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/21/292133.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/292133.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/21/292133.html#Feedback0http://www.aygfsteel.com/zhangsenwei/comments/commentRss/292133.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/292133.html
 1 <%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%>
 2 <html>
 3   <head>
 4     <title>Event试</title>
 5     <script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
 6     <script type="text/javascript" src="js/auto_full.js"></script>
 7   </head>
 8   <body>
 9       <input type="text" name="word" id="word"/>
10   </body>
11 </html>
12 

auto_full.js脚本
 1 $(document).ready(function(){
 2     //获取输入?/span>
 3     var wordInput = $("#word");
 4     //l文本框d按下q弹起事?/span>
 5     wordInput.keyup(function(e){
 6       var currKey=0,CapsLock=0
 7       var e=e||event; 
 8       currKey=e.keyCode||e.which||e.charCode; 
 9       CapsLock=currKey >=65 && currKey <=90;
10       var keyCode=e['keyCode'];
11         if(keyCode>=65 && keyCode<=90 || keyCode==8 || keyCode==46){
12             alert(keyCode);
13             alert(String.fromCharCode(currKey));
14         }
15     });
16 });

源码下蝲

]]>
java中的日期cDatehttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291107.html张森?/dc:creator>张森?/author>Fri, 14 Aug 2009 00:55:00 GMThttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291107.htmlhttp://www.aygfsteel.com/zhangsenwei/comments/291107.htmlhttp://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291107.html#Feedback0http://www.aygfsteel.com/zhangsenwei/comments/commentRss/291107.htmlhttp://www.aygfsteel.com/zhangsenwei/services/trackbacks/291107.html

一、Java中的日期概述

日期在Java中是一块非常复杂的内容Q对于一个日期在不同的语a国别环境中,日期的国际化Q日期和旉之间的{换,日期的加减运,日期的展C格式都是非常复杂的问题?

在Java中,操作日期主要涉及C下几个类Q?

1、java.util.Date
c?Date 表示特定的瞬__到毫U。从 JDK 1.1 开始,应该使用 Calendar cd现日期和旉字段之间转换Q?DateFormat cL格式化和分析日期字符丌ӀDate 中的把日期解释ؓq、月、日、小时、分钟和U值的Ҏ已废弃?

2、java.text.DateFormatQ抽象类Q?
DateFormat 是日?旉格式化子cȝ抽象c,它以与语a无关的方式格式化q分析日期或旉。日?旉格式化子c(?SimpleDateFormatQ允许进行格式化Q也是日期 -> 文本Q、分析(文本-> 日期Q和标准化。将日期表示?Date 对象Q或者表CZؓ?GMTQ格林尼L准时_1970 q_1 ?1 ?00:00:00 q一d始的毫秒数?

3、java.text.SimpleDateFormatQDateFormat的直接子c)
SimpleDateFormat 是一个以与语a环境相关的方式来格式化和分析日期的具体类。它允许q行格式化(日期 -> 文本Q、分析(文本 -> 日期Q和规范化?
SimpleDateFormat 使得可以选择M用户定义的日?旉格式的模式。但是,仍然通过 DateFormat 中的 getTimeInstance、getDateInstance ?getDateTimeInstance 来新的创建日?旉格式化程序?

4、java.util.CalendarQ抽象类Q?
Calendar cL一个抽象类Q它为特定瞬间与一l诸?YEAR、MONTH、DAY_OF_MONTH、HOUR {日历字D之间的转换提供了一些方法,qؓ操作日历字段Q例如获得下星期的日期)提供了一些方法。瞬间可用毫U值来表示Q它是距历元Q即格林威治标准旉 1970 q?1 ?1 日的 00:00:00.000Q格里高利历Q的偏移量?
与其他语a环境敏感cMPCalendar 提供了一个类Ҏ getInstanceQ以获得此类型的一个通用的对象。Calendar ?getInstance Ҏq回一?Calendar 对象Q其日历字段已由当前日期和时间初始化?

5、java.util.GregorianCalendarQCalendar的直接子c)
GregorianCalendar ?Calendar 的一个具体子c,提供了世界上大多数国家用的标准日历pȝ?
GregorianCalendar 是一U؜合日历,在单一间断性的支持下同时支持儒略历和格里高利历pȝQ在默认情况下,它对应格里高利日历创立时的格里高利历日期Q某些国家是?1582 q?10 ?15 日创立,在其他国家要晚一些)。可p用方通过调用 setGregorianChange() 来更改v始日期?


二、java.util.Date的?

1、java.util.Date的API?

c?java.util.Date 表示特定的瞬__到毫U。提供了很多的方法,但是很多已经q时Q不推荐使用Q下面仅仅列出没有过时的ҎQ?

构造方法摘?
-------------
Date()
分配 Date 对象q用当前旉初始化此对象Q以表示分配它的旉Q精到毫秒Q?
Date(long date)
分配 Date 对象q初始化此对象,以表C从标准基准时_UCؓ“历元QepochQ?#8221;Q即 1970 q?1 ?1 ?00:00:00 GMTQ以来的指定毫秒数?

Ҏ摘要
-------------
boolean after(Date when)
试此日期是否在指定日期之后?

boolean before(Date when)
试此日期是否在指定日期之前?

Object clone()
q回此对象的副本?

int compareTo(Date anotherDate)
比较两个日期的顺序?

boolean equals(Object obj)
比较两个日期的相{性?

long getTime()
q回?1970 q?1 ?1 ?00:00:00 GMT 以来?Date 对象表示的毫U数?

int hashCode()
q回此对象的哈希码倹{?

void setTime(long time)
讄?Date 对象Q以表示 1970 q?1 ?1 ?00:00:00 GMT 以后 time 毫秒的时间点?

String toString()
把此 Date 对象转换Z下Ş式的 StringQ?dow mon dd hh:mm:ss zzz yyyy 其中Q?
dow 是一周中的某一?(Sun, Mon, Tue, Wed, Thu, Fri, Sat)?
mon 是月?(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)?
dd 是一月中的某一天(01 ?31Q,昄Z位十q制数?
hh 是一天中的小Ӟ00 ?23Q,昄Z位十q制数?
mm 是小时中的分钟(00 ?59Q,昄Z位十q制数?
ss 是分钟中的秒敎ͼ00 ?61Q,昄Z位十q制数?
zzz 是时区(q可以反映夏令时Q。标准时区羃写包括方?parse 识别的时区羃写。如果不提供时区信息Q则 zzz 为空Q即Ҏ不包括Q何字W?
yyyy 是年份,昄?4 位十q制数?

下面是一个Datecȝl合实例:
import java.util.Date;


public class TestDate {
public static void main(String args[]) {
TestDate nowDate = new TestDate();
nowDate.getSystemCurrentTime();
nowDate.getCurrentDate();
}


public void getSystemCurrentTime() {
System.out.println("----获取pȝ当前旉----");
System.out.println("pȝ当前旉 = " + System.currentTimeMillis());
}


public void getCurrentDate() {
System.out.println("----获取pȝ当前日期----");
//创徏q初始化一个日期(初始gؓ当前日期Q?
Date date = new Date();
System.out.println("现在的日期是 = " + date.toString());
System.out.println("?970q?????U开始至今所l历的毫U数 = " + date.getTime());
}
}

q行l果:
----获取pȝ当前旉----
pȝ当前旉 = 1196413077278
----获取pȝ当前日期----
现在的日期是 = Fri Nov 30 16:57:57 CST 2007
?970q?????U开始至今所l历的毫U数 = 1196413077278

Process finished with exit code 0


2、java.text.DateFormat抽象cȝ使用

DateFormat 是日?旉格式化子cȝ抽象c,它以与语a无关的方式格式化q分析日期或旉。日?旉格式化子c(?SimpleDateFormatQ允许进行格式化Q也是日期 -> 文本Q、分析(文本-> 日期Q和标准化。将日期表示?Date 对象Q或者表CZؓ?GMTQ格林尼L准时_1970 q_1 ?1 ?00:00:00 q一d始的毫秒数?

DateFormat 提供了很多类ҎQ以获得Z默认或给定语a环境和多U格式化风格的默认日?旉 Formatter。格式化风格包括 FULL、LONG、MEDIUM ?SHORT。方法描qC提供了用这些风格的更多l节和示例?

DateFormat 可帮助进行格式化q分析Q何语a环境的日期。对于月、星期,甚至日历格式Q阴历和阛_Q,其代码可完全与语a环境的约定无兟?

要格式化一个当前语a环境下的日期Q可使用某个静态工厂方法:
myString = DateFormat.getDateInstance().format(myDate);

 

如果格式化多个日期,那么获得该格式ƈ多次使用它是更ؓ高效的做法,q样pȝ׃必多ơ获取有关环境语a和国家约定的信息了?
DateFormat df = DateFormat.getDateInstance();
for (int i = 0; i < myDate.length; ++i) {
output.println(df.format(myDate[i]) + "; ");
}

要格式化不同语言环境的日期,可在 getDateInstance() 的调用中指定它?
DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);

q可使用 DateFormat q行分析?
myDate = df.parse(myString);

使用 getDateInstance 来获得该国家的标准日期格式。另外还提供了一些其他静态工厂方法。?getTimeInstance 可获得该国家的时间格式。?getDateTimeInstance 可获得日期和旉格式。可以将不同选项传入q些工厂ҎQ以控制l果的长度(?SHORT ?MEDIUM ?LONG 再到 FULLQ。确切的l果取决于语a环境Q但是通常Q?
SHORT 完全为数字,?12.13.52 ?3:30pm
MEDIUM 较长Q如 Jan 12, 1952
LONG 更长Q如 January 12, 1952 ?3:30:32pm
FULL 是完全指定,?Tuesday, April 12, 1952 AD ?3:30:42pm PST?

如果愿意Q还可以在格式上讄时区。如果想Ҏ式化或分析施加更多的控制Q或者给予用h多的控制Q,可以试从工厂Ҏ所获得?DateFormat 强制转换?SimpleDateFormat。这适用于大多数国家Q只是要C其攑օ一?try 代码块中Q以防遇到特D的格式?

q可以用借助 ParsePosition ?FieldPosition 的分析和格式化方法Ş式来Q逐步地分析字W串的各部分。对齐Q意特定的字段Q或者找出字W串在屏q上的选择位置?

DateFormat 不是同步的。徏议ؓ每个U程创徏独立的格式实例。如果多个线E同时访问一个格式,则它必须保持外部同步?

3、java.text.SimpleDateFormatQDateFormat的直接子c)的?

SimpleDateFormat 是一个以与语a环境相关的方式来格式化和分析日期的具体类。它允许q行格式化(日期 -> 文本Q、分析(文本 -> 日期Q和规范化?

SimpleDateFormat 使得可以选择M用户定义的日?旉格式的模式。但是,仍然通过 DateFormat 中的 getTimeInstance、getDateInstance ?getDateTimeInstance 来新的创建日?旉格式化程序。每一个这LcL法都能够q回一个以默认格式模式初始化的日期/旉格式化程序。可以根据需要?applyPattern Ҏ来修Ҏ式模式。有关用这些方法的更多信息Q请参阅 DateFormat?

日期和时间模?
日期和时间格式由日期和时间模?字符串指定。在日期和时间模式字W串中,未加引号的字?'A' ?'Z' ?'a' ?'z' 被解释ؓ模式字母Q用来表C日期或旉字符串元素。文本可以用单引号 (') 引v来,以免q行解释?''" 表示单引受所有其他字W均不解释;只是在格式化时将它们单复制到输出字符Ԍ或者在分析时与输入字符串进行匹配?

定义了以下模式字母(所有其他字W?'A' ?'Z' ?'a' ?'z' 都被保留Q:
字母 日期或时间元?表示 CZ
G Era 标志W?Text AD
y q?Year 1996; 96
M q中的月?Month July; Jul; 07
w q中的周?Number 27
W 月䆾中的周数 Number 2
D q中的天?Number 189
d 月䆾中的天数 Number 10
F 月䆾中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数Q?-23Q?Number 0
k 一天中的小时数Q?-24Q?Number 24
K am/pm 中的时敎ͼ0-11Q?Number 0
h am/pm 中的时敎ͼ1-12Q?Number 12
m 时中的分钟?Number 30
s 分钟中的U数 Number 55
S 毫秒?Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800


更多的参考信息可以查看JDK API文档,下面l出一个综合实?

import java.util.Date;
import java.util.Locale;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;


public class TestSimpleDateFormat {
public static void main(String args[]) throws ParseException {
TestSimpleDateFormat test = new TestSimpleDateFormat();
test.testDateFormat();

}

public void testDateFormat() throws ParseException {
//创徏日期
Date date = new Date();

//创徏不同的日期格?
DateFormat df1 = DateFormat.getInstance();
DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE");
DateFormat df3 = DateFormat.getDateInstance(DateFormat.FULL, Locale.CHINA); //产生一个指定国家指定长度的日期格式Q长度不同,昄的日期完整性也不同
DateFormat df4 = new SimpleDateFormat("yyyyqMM月dd?hh时mm分ssU?EE", Locale.CHINA);
DateFormat df5 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EEEEEE", Locale.US);
DateFormat df6 = new SimpleDateFormat("yyyy-MM-dd");
DateFormat df7 = new SimpleDateFormat("yyyyqMM月dd?);

//日期按照不同格式进行输?
System.out.println("-------日期按照不同格式进行输?-----");
System.out.println("按照Java默认的日期格式,默认的区?: " + df1.format(date));
System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE Q系l默认区?:" + df2.format(date));
System.out.println("按照日期的FULL模式Q区域设|ؓ中文 : " + df3.format(date));
System.out.println("按照指定格式 yyyyqMM月dd?hh时mm分ssU?EE Q区域ؓ中文 : " + df4.format(date));
System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE Q区域ؓ国 : " + df5.format(date));
System.out.println("按照指定格式 yyyy-MM-dd Q系l默认区?: " + df6.format(date));

//符合该格式的字W串转换为日期,若格式不盔RQ则会出?
Date date1 = df1.parse("07-11-30 下午2:32");
Date date2 = df2.parse("2007-11-30 02:51:07 星期?);
Date date3 = df3.parse("2007q?1?0?星期?);
Date date4 = df4.parse("2007q?1?0?02?1?8U?星期?);
Date date5 = df5.parse("2007-11-30 02:51:18 Friday");
Date date6 = df6.parse("2007-11-30");

System.out.println("-------输出字W串转换为日期的l果------");
System.out.println(date1);
System.out.println(date2);
System.out.println(date3);
System.out.println(date4);
System.out.println(date5);
System.out.println(date6);
}
}


q行l果:
-------日期按照不同格式进行输?-----
按照Java默认的日期格式,默认的区?: 07-11-30 下午5:04
按照指定格式 yyyy-MM-dd hh:mm:ss EE Q系l默认区?:2007-11-30 05:04:10 星期?
按照日期的FULL模式Q区域设|ؓ中文 : 2007q?1?0?星期?
按照指定格式 yyyyqMM月dd?hh时mm分ssU?EE Q区域ؓ中文 : 2007q?1?0?05?4?0U星期五
按照指定格式 yyyy-MM-dd hh:mm:ss EE Q区域ؓ国 : 2007-11-30 05:04:10 Friday
按照指定格式 yyyy-MM-dd Q系l默认区?: 2007-11-30
-------输出字W串转换为日期的l果------
Fri Nov 30 14:32:00 CST 2007
Fri Nov 30 02:51:07 CST 2007
Fri Nov 30 00:00:00 CST 2007
Fri Nov 30 02:51:18 CST 2007
Fri Nov 30 02:51:18 CST 2007
Fri Nov 30 00:00:00 CST 2007

Process finished with exit code 0

4、java.util.CalendarQ抽象类Q?

java.util.Calendar是个抽象c,是系l时间的抽象表示Q它为特定瞬间与一l诸?YEAR、MONTH、DAY_OF_MONTH、HOUR {日历字D之间的转换提供了一些方法,qؓ操作日历字段Q例如获得下星期的日期)提供了一些方法。瞬间可用毫U值来表示Q它是距历元Q即格林威治标准旉 1970 q?1 ?1 日的 00:00:00.000Q格里高利历Q的偏移量?

与其他语a环境敏感cMPCalendar 提供了一个类Ҏ getInstanceQ以获得此类型的一个通用的对象。Calendar ?getInstance Ҏq回一?Calendar 对象Q其日历字段已由当前日期和时间初始化?

一个Calendar的实例是pȝ旉的抽象表C,从Calendar的实例可以知道年月日星期月䆾时区{信息。CalendarcM有一个静态方?get(int x),通过q个Ҏ可以获取到相兛_例的一些|q月日星期月份等Q信息。参数x是一个量|在Calendar中有定义?

Calendar中些陷阱Q很Ҏ掉下去:
1、Calendar的星期是从周日开始的Q常量gؓ0?
2、Calendar的月份是从一月开始的Q常量gؓ0?
3、Calendar的每个月的第一天gؓ1?

5、java.util.GregorianCalendarQCalendar的直接子c)

GregorianCalendar ?Calendar 的一个具体子c,提供了世界上大多数国家用的标准日历pȝ。结合Calendar抽象cM用?

下面l出一个综合实例看看Calendarcȝ用法Q?

import java.util.*;
import java.text.SimpleDateFormat;


public class TestCalendar {
public static void main(String args[]) {
TestCalendar testCalendar = new TestCalendar();
testCalendar.testCalendar();

}

public void testCalendar() {
//创徏Calendar的方?
Calendar now1 = Calendar.getInstance();
Calendar now2 = new GregorianCalendar();
Calendar now3 = new GregorianCalendar(2007, 10, 30);
Calendar now4 = new GregorianCalendar(2007, 10, 30, 15, 55); //陷阱:Calendar的月份是0~11
Calendar now5 = new GregorianCalendar(2007, 10, 30, 15, 55, 44);
Calendar now6 = new GregorianCalendar(Locale.US);
Calendar now7 = new GregorianCalendar(TimeZone.getTimeZone("GMT-8:00"));

//通过日期和毫U数讄Calendar
now2.setTime(new Date());
System.out.println(now2);

now2.setTimeInMillis(new Date().getTime());
System.out.println(now2);

//定义日期的中文输出格?q输出日?
SimpleDateFormat df = new SimpleDateFormat("yyyyqMM月dd?hh时mm分ssU?E", Locale.CHINA);
System.out.println("获取日期中文格式化化输出Q? + df.format(now5.getTime()));
System.out.println();

System.out.println("--------通过Calendar获取日期中年月日{相关信?-------");
System.out.println("获取q_" + now5.get(Calendar.YEAR));
System.out.println("获取?月䆾是从0开始的)Q? + now5.get(Calendar.MONTH));
System.out.println("获取日:" + now5.get(Calendar.DAY_OF_MONTH));
System.out.println("获取Ӟ" + now5.get(Calendar.HOUR));
System.out.println("获取分:" + now5.get(Calendar.MINUTE));
System.out.println("获取U:" + now5.get(Calendar.SECOND));
System.out.println("获取上午、下午:" + now5.get(Calendar.AM_PM));
System.out.println("获取星期数?星期是从周日开始的)Q? + now5.get(Calendar.DAY_OF_WEEK));
System.out.println();

System.out.println("---------通用星期中文化{?--------");
String dayOfWeek[] = {"", "?, "一", "?, "?, "?, "?, "?};
System.out.println("now5对象的星期是:" + dayOfWeek[now5.get(Calendar.DAY_OF_WEEK)]);
System.out.println();

System.out.println("---------通用月䆾中文化{?--------");
String months[] = {"一?, "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一?, "十二?};
System.out.println("now5对象的月份是: " + months[now5.get(Calendar.MONTH)]);
}
}

q行l果Q?
java.util.GregorianCalendar[time=1196414388324,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=334,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=19,SECOND=48,MILLISECOND=324,ZONE_OFFSET=28800000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1196414388324,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2007,MONTH=10,WEEK_OF_YEAR=48,WEEK_OF_MONTH=5,DAY_OF_MONTH=30,DAY_OF_YEAR=334,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=5,AM_PM=1,HOUR=5,HOUR_OF_DAY=17,MINUTE=19,SECOND=48,MILLISECOND=324,ZONE_OFFSET=28800000,DST_OFFSET=0]
获取日期中文格式化化输出Q?007q?1?0?03?5?4U?星期?

--------通过Calendar获取日期中年月日{相关信?-------
获取q_2007
获取?月䆾是从0开始的)Q?0
获取日:30
获取Ӟ3
获取分:55
获取U:44
获取上午、下午:1
获取星期数?星期是从周日开始的)Q?

---------通用星期中文化{?--------
now5对象的星期是:?

---------通用月䆾中文化{?--------
now5对象的月份是: 十一?/span>

 


转蝲h明出?/span>Q谢谢!http://www.aygfsteel.com/zhangsenweiQ张炜JavaEE技术博客)



]]>
struts2 所需jar包详?/title><link>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291104.html</link><dc:creator>张森?/dc:creator><author>张森?/author><pubDate>Fri, 14 Aug 2009 00:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291104.html</guid><wfw:comment>http://www.aygfsteel.com/zhangsenwei/comments/291104.html</wfw:comment><comments>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangsenwei/comments/commentRss/291104.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangsenwei/services/trackbacks/291104.html</trackback:ping><description><![CDATA[<strong style="color: black"><span id="span1250210112712"><strong style="background-color: #ffff66">Struts2</strong>.1.xl于推出正式版了Q下载后按照Struts 2.0.14版进行配|,抛出异常说无法装?(org.apache.<strong style="background-color: #ffff66">struts2</strong>.dispatcher.multipart.MultiPartRequest)Q异怿息提C摘不到 org.apache.commons.fileupload.RequestContextc,搜烦<strong style="background-color: #ffff66">struts2</strong>.1.6带的所有jar包,发现RequestContextcdƈ不在<strong style="background-color: #ffff66">struts2</strong>-core-2.1.6.jar 中,在commons-fileupload-1.2.1.jar包中Q之?strong style="background-color: #ffff66">struts2</strong>.0.14q不需要此包,只有在要用到上传lg的时候才需要。可能是<strong style="background-color: #ffff66">struts2</strong>.1.6Ҏ件上传功能的改进。因此要x怋?strong style="background-color: #ffff66">struts2</strong>.1.6Q至需要如? 个jar包: <ul> <li><strong style="background-color: #ffff66">struts2</strong>-core-2.1.6.jar <li>freemarker-2.3.13.jar <li>commons-logging-1.0.4.jar <li>ognl-2.6.11.jar <li>xwork-2.1.2.jar <li>commons-fileupload-1.2.1.jar <br /> <br /> 要注意的是,Struts 2.1.6的最jar包配|比<strong style="background-color: #ffff66">Struts2</strong>.0.14多了一个commons-fileupload-1.2.1.jar?<br /> 如果要?strong style="background-color: #ffff66">Struts2</strong>的注释功能,?strong style="background-color: #ffff66">Struts2</strong>.0.14中只要引用了<strong style="background-color: #ffff66">struts2</strong>-core-2.1.6.jar文g卛_Q而在 <strong style="background-color: #ffff66">struts2</strong>.1.6中还需要引?strong style="background-color: #ffff66">struts2</strong>-convention-plugin-2.1.6.jar文gQ而且注释cȝ包也变了Q又增加了一些新的注释类Q,<strong style="background-color: #ffff66">Struts2</strong>.0.14中的注释cdorg.apache.<strong style="background-color: #ffff66">struts2</strong>.config包中Q?strong style="background-color: #ffff66">struts2</strong>.1.6的注释类?org.apache.<strong style="background-color: #ffff66">struts2</strong>.convention.annotation包中。除此之外,有些注释的属性名也变了,如Result注释?<strong style="background-color: #ffff66">struts2</strong>.0.14中有一个value属性,表示一个要转入的URLQ而在<strong style="background-color: #ffff66">Struts2</strong>.1.6的Result注释中用location属性代替了value属性(不再有value属性了Q,但它们的使用Ҏ相同?<br /> 因此Q读者在使用<strong style="background-color: #ffff66">Struts2</strong>.1.x时要注意Q这一版本?strong style="background-color: #ffff66">Struts2</strong>.0.xq不完全兼容Q但大部分还是兼容的Q。据我的l验Q?strong style="background-color: #ffff66">Struts2</strong>.1.x版本是比较E_的一?strong style="background-color: #ffff66">Struts2</strong>版本Q因此,Struts1.x是在Struts1.1版本才开始流行v来的?<br /> 以前也测试过<strong style="background-color: #ffff66">Struts2</strong>的其他版本,l部分测试,目前Struts 2分ؓ三个版本阶段QStruts 2.0.9及以前版本?strong style="background-color: #ffff66">Struts2</strong>.0.10?strong style="background-color: #ffff66">Struts2</strong>.0.14、Struts 2.1.xQ这三类版本都不太兼容,如果定使用<strong style="background-color: #ffff66">struts2</strong>来开发程序,直接使用<strong style="background-color: #ffff66">struts2</strong>.1.6及以后的版本Q这是一个比较稳定的<strong style="background-color: #ffff66">Struts2</strong>版本?</li> </ul> </span>~</strong> <img src ="http://www.aygfsteel.com/zhangsenwei/aggbug/291104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangsenwei/" target="_blank">张森?/a> 2009-08-14 08:36 <a href="http://www.aygfsteel.com/zhangsenwei/archive/2009/08/14/291104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>po、vo、bo、dao、pojo的解?/title><link>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290940.html</link><dc:creator>张森?/dc:creator><author>张森?/author><pubDate>Thu, 13 Aug 2009 02:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290940.html</guid><wfw:comment>http://www.aygfsteel.com/zhangsenwei/comments/290940.html</wfw:comment><comments>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290940.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangsenwei/comments/commentRss/290940.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangsenwei/services/trackbacks/290940.html</trackback:ping><description><![CDATA[<p><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: 16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="text-align: left; line-height: 18px; font-family: Arial; font-size: 12px" class="Apple-style-span">java的几U对?PO,VO,DAO,BO,POJO)解释<span id="wmqeeuq" class="Apple-converted-space"> </span><br />    一、PO: persistant object 持久对象,可以看成是与数据库中的表相映的java对象。最单的PO是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含MҎ据库的操作?span class="Apple-converted-space"> </span><br /> <br />    二、VO: value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,q根据业务的需?个h觉得同DTO(数据传输对象),在web上传递?span class="Apple-converted-space"> </span><br /> <br />    三、DAO: data access object 数据讉K对象Q此对象用于讉K数据库。通常和POl合使用QDAO中包含了各种数据库的操作Ҏ。通过它的Ҏ,l合POҎ据库q行相关的操作?span class="Apple-converted-space"> </span><br /> <br />    四、BO: business object 业务对象,装业务逻辑的java对象,通过调用DAOҎ,l合PO,VOq行业务操作?span class="Apple-converted-space"> </span><br /> <br />    五、POJO: plain ordinary java object 单无规则java对象,我个得它和其他不是一个层面上的东?VO和PO应该都属于它?span class="Apple-converted-space"> </span><br /> <br /> POQ?span class="Apple-converted-space"> </span><br /> persistant object持久对象<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 最形象的理解就是一个PO是数据库中的一条记录?span class="Apple-converted-space"> </span><br /> 好处是可以把一条记录作Z个对象处理,可以方便的{为其它对象?span class="Apple-converted-space"> </span><br /> BOQ?span class="Apple-converted-space"> </span><br /> business object业务对象<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 主要作用是把业务逻辑装Z个对象。这个对象可以包括一个或多个其它的对象?span class="Apple-converted-space"> </span><br /> 比如一个简历,有教育经历、工作经历?nbsp; 关系{等?span class="Apple-converted-space"> </span><br /> 我们可以把教育经历对应一个POQ工作经历对应一个POQ?nbsp; 关系对应一个PO?span class="Apple-converted-space"> </span><br /> 建立一个对应简历的BO对象处理历,每个BO包含q些PO?span class="Apple-converted-space"> </span><br /> q样处理业务逻辑Ӟ我们可以针对BOd理?span class="Apple-converted-space"> </span><br /> VO Q?span class="Apple-converted-space"> </span><br /> value object值对?span class="Apple-converted-space"> </span><br /> ViewObject表现层对?span class="Apple-converted-space"> </span><br /> 主要对应界面昄的数据对象。对于一个WEB面Q或者SWT、SWING的一个界面,用一个VO对象对应整个界面的倹{?span class="Apple-converted-space"> </span><br /> DTO Q?span class="Apple-converted-space"> </span><br /> Data Transfer Object数据传输对象<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 主要用于q程调用{需要大量传输对象的地方?span class="Apple-converted-space"> </span><br /> 比如我们一张表?00个字D,那么对应的PO有100个属性?span class="Apple-converted-space"> </span><br /> 但是我们界面上只要显C?0个字D,<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> q时我们可以用只有q?0个属性的DTO来传递结果到客户端,q样也不会暴露服务端表结?到达客户端以后,如果用这个对象来对应界面昄Q那此时它的w䆾p{为VO<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> POJO Q?span class="Apple-converted-space"> </span><br /> plain ordinary java object 单java对象<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 个h感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象?span class="Apple-converted-space"> </span><br /> 一个POJO持久化以后就是PO<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 直接用它传递、传递过E中是DTO<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 直接用来对应表示层就是VO<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> DAOQ?span class="Apple-converted-space"> </span><br /> data access object数据讉K对象<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> q个大家最熟悉Q和上面几个O区别最大,基本没有互相转化的可能性和必要.<span id="wmqeeuq" class="Apple-converted-space"> </span><br /> 主要用来装Ҏ据库的访问。通过它可以把POJO持久化ؓPOQ用POl装出来VO、DTO<span id="wmqeeuq" class="Apple-converted-space"> </span><br />        ȝ下我认ؓ一个对象究竟是什么O要看具体环境Q在不同的层、不同的应用场合Q对象的w䆾也不一P而且对象w䆾的{化也是很自然的。就像你对老婆来说是老公Q对父母来说是子女。设计这些概늚初衷不是Z唬h而是Z更好的理解和处理各种逻辑Q让大家能更好的ȝ面向对象的方式处理问?C会C会</span></span></p> <img src ="http://www.aygfsteel.com/zhangsenwei/aggbug/290940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangsenwei/" target="_blank">张森?/a> 2009-08-13 10:16 <a href="http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jquery 操作单选框Q复选框Q下拉列?/title><link>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290939.html</link><dc:creator>张森?/dc:creator><author>张森?/author><pubDate>Thu, 13 Aug 2009 02:14:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290939.html</guid><wfw:comment>http://www.aygfsteel.com/zhangsenwei/comments/290939.html</wfw:comment><comments>http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangsenwei/comments/commentRss/290939.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangsenwei/services/trackbacks/290939.html</trackback:ping><description><![CDATA[<span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: red; ">1、复选框全选操? Q?/span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">html代码</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding- bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #0000FF; "><</span><span style="color: #800000; ">form</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">  <br />    您爱好的q动是:  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="checkbox"</span><span style="color: #FF0000; "> name</span><span style="color: #0000FF; ">="item"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="football"</span><span style="color: #0000FF; ">/></span><span style="color: #000000; "> football  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="checkbox"</span><span style="color: #FF0000; "> name</span><span style="color: #0000FF; ">="item"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="basketball"</span><span style="color: #0000FF; ">/></span><span style="color: #000000; "> basketball  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="checkbox"</span><span style="color: #FF0000; "> name</span><span style="color: #0000FF; ">="item"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="badminton"</span><span style="color: #0000FF; ">/></span><span style="color: #000000; "> badminton  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="checkbox"</span><span style="color: #FF0000; "> name</span><span style="color: #0000FF; ">="item"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="pingpong"</span><span style="color: #0000FF; ">/></span><span style="color: #000000; "> pingpong  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="button"</span><span style="color: #FF0000; "> id</span><span style="color: #0000FF; ">="checkAll"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="全?</span><span style="color: #0000FF; ">/></span><span style="color: #000000; ">                  <br />    </span><span style="color: #0000FF; "><</span><span style="color: #800000; ">input </span><span style="color: #FF0000; ">type</span><span style="color: #0000FF; ">="button"</span><span style="color: #FF0000; "> id</span><span style="color: #0000FF; ">="checkFootball"</span><span style="color: #FF0000; "> value</span><span style="color: #0000FF; ">="选中球"</span><span style="color: #0000FF; ">/></span><span style="color: #000000; ">  <br /> </span><span style="color: #0000FF; "></</span><span style="color: #800000; ">form</span><span style="color: #0000FF; ">></span><span style="color: #000000; ">  </span></div> <br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>: <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding- bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">$(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#checkAll</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click (checkAll);    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 全?nbsp; </span><span style="color: #000000; ">                      <br />    $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#checkFootball</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click (checkFootball); </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 单选?   </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">});  <br /> function checkAll()  <br /> {  <br />    $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">input [type="checkbox"][name="item"]</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).attr (</span><span style="color: #000000; ">"</span><span style="color: #000000; ">checked</span><span style="color: #000000; ">"</span><span style="color: #000000; ">, </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">);  <br />    </span><span style="color: #008000; ">//</span><span style="color: #008000; ">  $('[name="item"]:checkbox').attr("checked", true);  </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">}</span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">注: 全反选只需要将q里?true 换成 false ? 可?nbsp;</span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #0031c6; "><span style="color: #0031c6; ">选中球操作</span></span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding- bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">function checkFootball()  <br /> {  <br />    $(</span><span style="color: #000000; ">"</span><span style="color: #000000; "> [name='item']:checkbox</span><span style="color: #000000; ">"</span><span style="color: #000000; ">).each(function () {  <br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.value </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">'</span><span style="color: #000000; ">football</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)  <br />        {  <br />           </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.checked </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;  <br />        }  <br />    })     <br /> }  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">注: 具体目的Z解决从后台取出数据,昄? q里q没有用jQuery的attr()和val()Ҏ来设|选中和获得当前checkbox的|改用了JavaScript原生?Dom ҎQ将比创? jQuery对象更有?/span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: red; ">2. 单选按钮操? </span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">html代码</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding- bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">A B C D 您选择哪一个:</span><span style="color: #000000; "><</span><span style="color: #000000; ">br</span><span style="color: #000000; ">/></span><span style="color: #000000; ">  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">radio</span><span style="color: #000000; ">"</span><span style="color: #000000; "> name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">item</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">A</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">A  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">radio</span><span style="color: #000000; ">"</span><span style="color: #000000; "> name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">item</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">B</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">B  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">radio</span><span style="color: #000000; ">"</span><span style="color: #000000; "> name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">item</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">C</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">C  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">radio</span><span style="color: #000000; ">"</span><span style="color: #000000; "> name</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">item</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">D</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">D  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">button</span><span style="color: #000000; ">"</span><span style="color: #000000; "> id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">getLetter</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">获得字母 </span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; "> </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #0031c6; ">初始化选中? 母B</span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding- bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">$(document).ready(function()  {                     <br />    </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 数据初始化? 择B?nbsp; </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">   $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">[name="item"]:radio</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).each(function() {  <br />        </span><span style="color: #0000FF; ">if</span><span style="color: #000000; "> (</span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.value </span><span style="color: #000000; ">==</span><span style="color: #000000; "> </span><span style="color: #000000; ">'</span><span style="color: #000000; ">B</span><span style="color: #000000; ">'</span><span style="color: #000000; ">)  <br />        {  <br />           </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.checked </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;  <br />        }      <br />     });  <br />   <br />     </span><span style="color: #008000; ">//</span><span style="color: #008000; "> l定? 得字母的事g   </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">    $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#getLetter</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click(getLetter);  <br /> });  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #0031c6; ">获得所选中? 字母 </span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">function getLetter()  <br /> {  <br />   alert(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">获得的字母ؓQ?/span><span style="color: #000000; ">'</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">[name="item"][checked=true]:radio</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).val());  <br /> }  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: red; ">3. 下拉?列表)操作</span> </span><br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; "><</span><span style="color: #000000; ">select multiple id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">choose</span><span style="color: #000000; ">"</span><span style="color: #000000; "> style</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">width=100px;heigth=160px</span><span style="color: #000000; ">"</span><span style="color: #000000; ">></</span><span style="color: #000000; ">select</span><span style="color: #000000; ">></span><span style="color: #000000; ">  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">addOptions</span><span style="color: #000000; ">"</span><span style="color: #000000; "> type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">button</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">d数据</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">getSelectedOption</span><span style="color: #000000; ">"</span><span style="color: #000000; "> type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">button</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">获得选中的?/span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">  <br /> </span><span style="color: #000000; "><</span><span style="color: #000000; ">input id</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">clearOptions</span><span style="color: #000000; ">"</span><span style="color: #000000; "> type</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">button</span><span style="color: #000000; ">"</span><span style="color: #000000; "> value</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">清空列表</span><span style="color: #000000; ">"</span><span style="color: #000000; ">/></span><span style="color: #000000; ">  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">$(document).ready(function() {  <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#addOptions</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click(addOptions);  </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 为列表添加元?nbsp; </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">                         <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#getSelectedOption</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click(getSelectedOption);  </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 获得选中的元?nbsp; </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">                      <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#clearOptions</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click(clearOptions); </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 清楚列表中的元素  </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">                      <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#addOptions</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).click(); </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 触发为列表添加元素事?nbsp; </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">});  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #000ff4; "><span style="color: #000ff4; ">q加元素</span></span></span><br /> <span style="font-family: Arial; font-size: 12px; line-height: 18px; ">Jquey js 脚本</span>:<br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><span style="color: #000000; ">function addOptions()  <br /> {  <br />    var selectContainer </span><span style="color: #000000; ">=</span><span style="color: #000000; "> $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#choose</span><span style="color: #000000; ">'</span><span style="color: #000000; ">);  <br />                   <br />    </span><span style="color: #0000FF; ">for</span><span style="color: #000000; "> (var i </span><span style="color: #000000; ">=</span><span style="color: #000000; "> </span><span style="color: #000000; ">0</span><span style="color: #000000; ">; i </span><span style="color: #000000; "><</span><span style="color: #000000; "> </span><span style="color: #000000; ">5</span><span style="color: #000000; ">; i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)  <br />    {  <br />       var option </span><span style="color: #000000; ">=</span><span style="color: #000000; "> $(</span><span style="color: #000000; ">'</span><span style="color: #000000; "><option></option></span><span style="color: #000000; ">'</span><span style="color: #000000; ">).text(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">choose</span><span style="color: #000000; ">'</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> i).val(i);  <br />       selectContainer.append(option);  <br />    }  <br /> }  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #000ff4; ">获得选中的元?nbsp;</span></span><br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">function getSelectedOption()  <br /> {  <br />      </span><span style="color: #008000; ">/*</span><span style="color: #008000; "> 逐个弹出每个元素 </span><span style="color: #008000; ">*/</span><span style="color: #000000; ">  <br />     var options </span><span style="color: #000000; ">=</span><span style="color: #000000; "> $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#choose > option:selected</span><span style="color: #000000; ">'</span><span style="color: #000000; ">);  <br />                     <br />     $.each(options, function () {  <br />       alert(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">option: </span><span style="color: #000000; ">'</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.value);  <br />     });  <br />                     <br />     </span><span style="color: #008000; ">/*</span><span style="color: #008000; "> 逐个弹出每个元素Q第一U的?nbsp;</span><span style="color: #008000; ">*/</span><span style="color: #000000; ">                   <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#choose > option:selected</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).each(function() {  <br />       alert(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">option2: </span><span style="color: #000000; ">'</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> </span><span style="color: #0000FF; ">this</span><span style="color: #000000; ">.value);  <br />      });  <br />   <br />      </span><span style="color: #008000; ">//</span><span style="color: #008000; "> 直接弹出数据Q?nbsp;如果是对下拉框,则直接弹出数据,如果是列表ƈ且选择了多个数  <br />      </span><span style="color: #008000; ">//</span><span style="color: #008000; ">   据,数据以'Q?分隔昄    </span><span style="color: #008000; "><br /> </span><span style="color: #000000; ">     alert(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">val: </span><span style="color: #000000; ">'</span><span style="color: #000000; "> </span><span style="color: #000000; ">+</span><span style="color: #000000; "> $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#choose</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).val());  <br /> }  </span></div> <span style="font-family: Arial; font-size: 12px; line-height: 18px; "><span style="color: #000ff4; ">清空列表 </span></span><br /> <div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000; ">function clearOptions()  <br /> {  <br />     $(</span><span style="color: #000000; ">'</span><span style="color: #000000; ">#choose</span><span style="color: #000000; ">'</span><span style="color: #000000; ">).empty();  <br /> }  </span></div> <img src ="http://www.aygfsteel.com/zhangsenwei/aggbug/290939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangsenwei/" target="_blank">张森?/a> 2009-08-13 10:14 <a href="http://www.aygfsteel.com/zhangsenwei/archive/2009/08/13/290939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̩</a>| <a href="http://" target="_blank">ѭ</a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">̨ʡ</a>| <a href="http://" target="_blank">쳤</a>| <a href="http://" target="_blank">Ұ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ų</a>| <a href="http://" target="_blank">Ƕ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ѭ</a>| <a href="http://" target="_blank">½</a>| <a href="http://" target="_blank">㽭ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">۽</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">差</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">³</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϸ</a>| <a href="http://" target="_blank">̨</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>