<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Ｍyツjαvα①角ゞ</title>
    <description>ツ恛想起傆來经沥的凤雨吔是ミ壹种^ヅ緈福ゞ╰┈┈ →^ヅ</description>
    <link>http://angelialily.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>.net 数据导出Excl格式</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/210734" style="color:red;">http://angelialily.javaeye.com/blog/210734</a>&nbsp;
          发表时间: 2008年07月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          private void Button2_Click(object sender, System.EventArgs e)<br />		{<br />			if(DataGrid1.Items.Count==0)<br />			 {<br />				Response.Write("&lt;script>alert('对不起,你没有查询到任何记录,不能导出数据')&lt;/script>");<br />			 }else{      <br />					Response.Clear(); <br />					Response.Buffer= true;<br />					Response.Charset="GB2312";<br />					Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");<br />					Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");<br />						 //设置输出流为简体中文<br />					Response.ContentType = "application/ms-excel";<br />						//设置输出文件类型为excel文件。<br />					this.EnableViewState = false;<br />					System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);<br />					System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);<br />					System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);<br />					DataGrid1.RenderControl(oHtmlTextWriter);<br />					Response.Write(oStringWriter.ToString());<br />					Response.End();<br />		}
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/210734#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 02 Jul 2008 18:21:52 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/210734</link>
        <guid>http://angelialily.javaeye.com/blog/210734</guid>
      </item>
      <item>
        <title>编码转换</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/200983" style="color:red;">http://angelialily.javaeye.com/blog/200983</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          E:\>native2ascii  原文件.txt  生成文件.property
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/200983#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Jun 2008 15:56:06 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/200983</link>
        <guid>http://angelialily.javaeye.com/blog/200983</guid>
      </item>
      <item>
        <title>内联结、外联结、左联结、右联结的含义及区别</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/200981" style="color:red;">http://angelialily.javaeye.com/blog/200981</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          内联结、外联结、左联结、右联结的含义及区别：<br /><br />在SQL标准中规划的（join）联结大致分为下面四种：<br />1．内联结：将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。<br />2．外联结：分为外左联结和外右联结。左联结A、B表的意思就是将表A中的全部记录和表B中联结的字段与表A的联结字段符合联结条件的那些记录形成的记录集的联结，这里注意的是最后出来的记录集会包括表A的全部记录。右联结A、B表的结果和左联结B、A的结果是一样的，也就是说： select A.name B.name From A Left join B On A.id=B.id 和select A.name B.name From B Right join A on B.id=A.id执行后的结果是一样的。<br />3．全联结：将两个表中存在联结关系的字段的所有记录取出形成记录集的联结（这个不需要记忆，只要是查询中提到了的表的字段都会取出，无论是否符合联结条件，因此意义不大）。<br />4．无联结：不用解释了吧，就是没有使用联结功能呗，也有自联结的说法。这里我有个比较简便的记忆方法，内外联结的区别是内联结将去除所有不符合条件的记录，而外联结则保留其中部分。外左联结与外右联结的区别在于如果用A左联结B则A中所有记录都会保留在结果中，此时B中只有符合联结条件的记录，而右联结相反，这样也就不会混淆了。其实大家回忆高等教育出版社出版的《数据库系统概论》书中讲到关系代数那章（就是将笛卡儿积和投影那章）的内容，相信不难理解这些联结功能的内涵。<br /><br />2． MySQL联结（join）的语法：<br /><br /> MySQL支持select和某些update和delete情况下的join语法，具体语法上的细节有： table_references: table_reference [, table_reference] … table_reference: table_factor | join_table table_factor: tbl_name [[AS] alias] [{USE|IGNORE|FORCE} INDEX (key_list)] | ( table_references ) | { OJ table_reference LEFT OUTER join table_reference ON conditional_expr } join_table: table_reference [INNER | CROSS] join table_factor [join_condition] | table_reference STRAIGHT_join table_factor | table_reference STRAIGHT_join table_factor ON condition | table_reference LEFT [OUTER] join table_reference join_condition | table_reference NATURAL [LEFT [OUTER]] join table_factor | table_reference RIGHT [OUTER] join table_reference join_condition | table_reference NATURAL [RIGHT [OUTER]] join table_factor join_condition: ON conditional_expr | USING (column_list)<br /><br />上面的用法摘自权威资料，不过大家看了是否有点晕呢？呵呵，应该问题主要还在于table_reference是什么，table_factor又是什么？这里的table_reference其实就是表的引用的意思，因为在MySQL看来，联结就是一种对表的引用，因此把需要联结的表定义为table_reference，同时在SQL Standard中也是如此看待的。而table_factor则是MySQL对这个引用的功能上的增强和扩充，使得引用的表可以是括号内的一系列表，如下面例子中的join后面括号：<br /><br />select * FROM t1 LEFT join (t2, t3, t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)<br /><br />这个语句的执行结果和下面语句其实是一样的：<br /><br />select * FROM t1 LEFT join (t2 CROSS join t3 CROSS join t4) ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)<br /><br />这两个例子不仅让我们了解了MySQL中table_factor和table_reference含义，同时能理解一点CROSS join的用法，我要补充的是在MySQL现有版本中CROSS join的作用和INNER join是一样的（虽然在SQL Standard中是不一样的，然而在MySQL中他们的区别仅仅是INNER join需要附加ON参数的语句，而CROSS join不需要）。<br /><br />既然说到了ON语句，那就解释一下吧，ON语句其实和where语句功能大致相当，只是这里的ON语句是专门针对联结表的，ON语句后面的条件的要求和书写方式和where语句的要求是一样的，大家基本上可以把ON当作where用。大家也许也看到了OJ table_reference LEFT OUTER join table_reference这个句子，这不是MySQL的标准写法，只是为了和ODBC的SQL语法兼容而设定的，我很少用，Java的人更是不会用，所以也不多解释了。<br /><br />那下面就具体讲讲简单的join的用法了。首先我们假设有2个表A和B，他们的表结构和字段分别为：<br /><br />表A： ID Name 1 Tim 2 Jimmy 3 John 4 Tom<br /><br />表B： ID Hobby 1 Football 2 Basketball 2 Tennis 4 Soccer<br /><br />1． 内联结： select A.Name B.Hobby from A, B where A.id = B.id，这是隐式的内联结，查询的结果是： Name Hobby Tim Football Jimmy Basketball Jimmy Tennis Tom Soccer 它的作用和 select A.Name from A INNER join B ON A.id = B.id是一样的。这里的INNER join换成CROSS join也是可以的。<br />2． 外左联结 select A.Name from A Left join B ON A.id = B.id，典型的外左联结，这样查询得到的结果将会是保留所有A表中联结字段的记录，若无与其相对应的B表中的字段记录则留空，结果如下： Name Hobby Tim Football Jimmy Basketball，Tennis John Tom Soccer 所以从上面结果看出，因为A表中的John记录的ID没有在B表中有对应ID，因此为空，但Name栏仍有John记录。<br />3． 外右联结 如果把上面查询改成外右联结：select A.Name from A Right join B ON A.id = B.id，则结果将会是： Name Hobby Tim Football Jimmy Basketball Jimmy Tennis Tom Soccer 这样的结果都是我们可以从外左联结的结果中猜到的了。说到这里大家是否对联结查询了解多了？这个原本看来高深的概念一下子就理解了，恍然大悟了吧（呵呵，开玩笑了）？<br /><br />最后给大家讲讲MySQL联结查询中的某些参数的作用：<br />1．USING (column_list)：其作用是为了方便书写联结的多对应关系，大部分情况下USING语句可以用ON语句来代替，如下面例子： a LEFT join b USING (c1,c2,c3)，其作用相当于下面语句 a LEFT join b ON a.c1=b.c1 AND a.c2=b.c2 AND a.c3=b.c3 只是用ON来代替会书写比较麻烦而已。<br />2．NATURAL [LEFT] join：这个句子的作用相当于INNER join，或者是在USING子句中包含了联结的表中所有字段的Left join（左联结）。<br />3．STRAIGHT_join：由于默认情况下MySQL在进行表的联结的时候会先读入左表，当使用了这个参数后MySQL将会先读入右表，这是个MySQL的内置优化参数，大家应该在特定情况下使用，譬如已经确认右表中的记录数量少，在筛选后能大大提高查询速度。<br /><br />最后要说的就是，在MySQL5.0以后，运算顺序得到了重视，所以对多表的联结查询可能会错误以子联结查询的方式进行。譬如你需要进行多表联结，因此你输入了下面的联结查询：<br /><br />select t1.id,t2.id,t3.id FROM t1,t2 LEFT join t3 ON (t3.id=t1.id) where t1.id=t2.id;<br /><br />但是MySQL并不是这样执行的，其后台的真正执行方式是下面的语句：<br /><br />select t1.id,t2.id,t3.id FROM t1,( t2 LEFT join t3 ON (t3.id=t1.id) ) where t1.id=t2.id;<br /><br />这并不是我们想要的效果，所以我们需要这样输入：<br /><br />select t1.id,t2.id,t3.id FROM (t1,t2) LEFT join t3 ON (t3.id=t1.id) where t1.id=t2.id;
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/200981#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Jun 2008 15:53:02 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/200981</link>
        <guid>http://angelialily.javaeye.com/blog/200981</guid>
      </item>
      <item>
        <title>js窗口&amp;提示大全</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/200975" style="color:red;">http://angelialily.javaeye.com/blog/200975</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          //-----------按钮提示框----------//<br />&lt;input type="button" name="btn2"  id="btn2" value="删除" onclick="return confirm('Yes/No'););<br /><br />//-----------按钮提示框----------//<br />&lt;input type="button" name="btn2"  id="btn2" value="提示" onclick="javaScript:alert('您确定要删除吗？');<br /><br />//-----------提交按钮----------//<br />&lt;input type="button" value="提交" onclick="javaScript:window.location.href='http://angelialily.javaeye.com/';"/><br /><br />//-----------关闭按钮----------//<br />&lt;input type="button" value="关闭" onclick="javaScript:window.close();"><br /><br />//-----------返回并关闭连接----------//<br />&lt;a href="#" onclick="javascript:;window.opener.location.reload();window.close()">返回&lt;/a><br />javaScript:window.location.reload();//返回当前页并刷新<br /><br />//-----------返回上一级页面----------//<br />&lt;input type="button"  name="button" value="&lt; 返回" onclick="javascript:history.go(-1)"/><br /><br />//关闭,父窗口弹出对话框,子窗口直接关闭<br />this.Response.Write("&lt;script language=javascript>window.close();&lt;/script>");<br /><br />//关闭,父窗口和子窗口都不弹出对话框,直接关闭<br />this.Response.Write("&lt;script>");<br />this.Response.Write("{top.opener =null;top.close();}");<br />this.Response.Write("&lt;/script>");<br /><br />//弹出窗口刷新当前页面width=200 height=200菜单。菜单栏,工具条,地址栏,状态栏全没有<br />this.Response.Write("&lt;script language=javascript>window.open('rows.aspx','newwindow','width=200,height=200')&lt;/script>");<br /><br />//弹出窗口刷新当前页面<br />this.Response.Write("&lt;script language=javascript>window.open('rows.aspx')&lt;/script>");<br />this.Response.Write("&lt;script>window.open('WebForm2.aspx','_blank');&lt;/script>");<br /><br />//弹出提示窗口跳到webform2.aspx页(在一个IE窗口中)<br />this.Response.Write(" &lt;script language=javascript>alert('注册成功');window.window.location.href='WebForm2.aspx';&lt;/script> ");<br /><br />//关闭当前子窗口,刷新父窗口<br />this.Response.Write("&lt;script>window.opener.location.href=window.opener.location.href;window.close();&lt;/script>");<br />this.Response.Write("&lt;script>window.opener.location.replace(window.opener.document.referrer);window.close();&lt;/script>");<br /><br />//子窗口刷新父窗口<br />this.Response.Write("&lt;script>window.opener.location.href=window.opener.location.href;&lt;/script>");<br />this.Response.Write("&lt;script>window.opener.location.href='WebForm1.aspx';&lt;/script>");<br /><br />//弹出提示窗口.确定后弹出子窗口(WebForm2.aspx)<br />this.Response.Write("&lt;script language='javascript'>alert('发表成功！');window.open('WebForm2.aspx')&lt;/script>");<br /><br />//弹出提示窗口,确定后,刷新父窗口<br />this.Response.Write("&lt;script>alert('发表成功！');window.opener.location.href=window.opener.location.href;&lt;/script>");<br /><br />//弹出相同的一页<br />&lt;INPUT type="button" value="Button" onclick="javascript:window.open(window.location.href)"><br /><br />//<br />Response.Write("parent.mainFrameBottom.location.href='yourwebform.aspx?temp=" +str+"';");<br /><br /><br />&lt;SCRIPT LANGUAGE="javascript"> <br />&lt;!-- <br />window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行<br />--> <br />&lt;/SCRIPT>  <br />　　<br />　　参数解释： <br />　　<br />　　&lt;SCRIPT LANGUAGE="javascript"> js脚本开始； <br />　　window.open 弹出新窗口的命令； <br />　　'page.html' 弹出窗口的文件名； <br />　　'newwindow' 弹出窗口的名字（不是文件名），非必须，可用空''代替； <br />　　height=100 窗口高度； <br />　　width=400 窗口宽度； <br />　　top=0 窗口距离屏幕上方的象素值； <br />　　left=0 窗口距离屏幕左侧的象素值； <br />　　toolbar=no 是否显示工具栏，yes为显示； <br />　　menubar，scrollbars 表示菜单栏和滚动栏。 <br />　　resizable=no 是否允许改变窗口大小，yes为允许； <br />　　location=no 是否显示地址栏，yes为允许； <br />　　status=no 是否显示状态栏内的信息（通常是文件已经打开），yes为允许； <br />　　&lt;/SCRIPT> js脚本结束<br /><br />'newwin':隐藏菜单栏地址栏工具条<br />width=50:宽度<br />height=50:高度<br />scrollbars=yes/no:滚动条<br />top=50:窗口距离屏幕上方<br />left=50:窗口距离屏幕左侧<br />例:window.open('detail.aspx?ID="+e.Item.Cells[1].Text+"','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');"); <br />this.Response.Write("&lt;Script>window.open('WebForm2.aspx','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=750,height=470,left=80,top=40');&lt;/script>");<br /><br />例:<br />this.Response.Write("&lt;script>alert('发表成功！');window.opener.location.href=window.opener.location.href;&lt;/script>");<br />this.Response.Write("&lt;script>");<br />this.Response.Write("{top.opener =null;top.close();}");<br />this.Response.Write("&lt;/script>");<br /><br />例: linkcolumn1.DataNavigateUrlFormatString="javascript:varwin=window.open('edit_usr.aspx?actid={0}','newwin','width=750,height=600,scrollbars=yes,top=50,left=50');window.close()";<br /><br />this.Response.Write("&lt;Script>window.open('WebForm7.aspx','','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,width=750,height=470,left=80,top=40');&lt;/script>");<br /><br />弹出跟你当前的窗口有没有菜单工具栏没有关系,你只要在页面中写一个脚本它就弹出了.比如<br />&lt;a href=# onclick="window.open('xxx.aspx','窗口名称','参数');">xxxxx&lt;/a><br /><br />以下列出一些弹出窗口的参数,你可自行设定,参数之间用逗号分隔<br /><br />可选。字符串--列出对象表并用逗号分开。每一项都有自己的值，他们将被分开（如："fullscreen=yes, toolbar=yes"）。下面是被支持的各种特性。  <br />channelmode = { yes | no | 1 | 0 } 是否在窗口中显示阶梯模式。默认为no。 <br />directories = { yes | no | 1 | 0 } 是否在窗口中显示各种按钮。默认为yes。 <br />fullscreen = { yes | no | 1 | 0 } 是否用全屏方式显示浏览器。默认为no。使用这一特性时需要非常小心。因为这一属性可能会隐藏浏览器的标题栏和菜单，你必须提供一个按钮或者其他提示来帮助使用者关闭这一浏览窗口。ALT+F4可以关闭窗口。一个全屏窗口必须使用阶梯(channelmode)模式。 <br />height = number 指定窗口的高度，单位是像素。最小值是100。 <br />left = number 指定窗口距左边框的距离，单位是像素。值必须大于或者等于0。 <br />location = { yes | no | 1 | 0 } 指定是否在窗口中显示地址栏。默认为yes。 <br />menubar = { yes | no | 1 | 0 } 指定是否在窗口中显示菜单栏。默认为yes。 <br />resizable = { yes | no | 1 | 0 } 指定是否在窗口中显示可供用户调整大小的句柄。默认为yes。 <br />scrollbars = { yes | no | 1 | 0 } 指定是否在窗口中显示横向或者纵向滚动条。默认为yes。 <br />status = { yes | no | 1 | 0 } 指定是否在窗口中显示状态栏。默认为yes。 <br />titlebar = { yes | no | 1 | 0 } 指定是否在窗口中显示标题栏。在非调用HTML Application或者一个对话框的情况下，这一项将被忽略。默认为yes。 <br />toolbar = { yes | no | 1 | 0 } 指定是否在窗口中显示工具栏，包括如前进、后退、停止等按钮。默认为yes。 <br />top = number 指定窗口顶部的位置，单位是像素。值必须大于或者等于0。 <br />width = number 指定窗口的宽度，单位是像素。最小值是100。 <br /><br />【1、最基本的弹出窗口代码】 <br />　　<br />　　&lt;SCRIPT LANGUAGE="javascript"> <br />　　&lt;!-- <br />　　window.open ('page.html') <br />　　--> <br />　　&lt;/SCRIPT> <br />　　<br />　　因为这是一段javascripts代码，所以它们应该放在&lt;SCRIPT LANGUAGE="javascript">标签和&lt;/script>之间。&lt;!-- 和 -->是对一些版本低的浏览器起作用，在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。window.open ('page.html') 用于控制弹出新的窗口page.html，如果page.html不与主窗口在同一路径下，前面应写明路径，绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以，只是不要混用。这一段代码可以加入HTML的任意位置，&lt;head>和&lt;/head>之间可以，&lt;body>间&lt;/body>也可以，越前越早执行，尤其是页面代码长，又想使页面早点弹出就尽量往前放。 <br />　  <br />【2、经过设置后的弹出窗口】<br />　　<br />　　下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。我们来定制这个弹出的窗口的外观，尺寸大小，弹出的位置以适应该页面的具体情况。 <br />　　<br />　　&lt;SCRIPT LANGUAGE="javascript"> <br />　　&lt;!-- <br />　　window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成一行<br />　　--> <br />　　&lt;/SCRIPT>  <br />　　<br />　　参数解释： <br />　　<br />　　&lt;SCRIPT LANGUAGE="javascript"> js脚本开始； <br />　　window.open 弹出新窗口的命令； <br />　　'page.html' 弹出窗口的文件名； <br />　　'newwindow' 弹出窗口的名字（不是文件名），非必须，可用空''代替； <br />　　height=100 窗口高度； <br />　　width=400 窗口宽度； <br />　　top=0 窗口距离屏幕上方的象素值； <br />　　left=0 窗口距离屏幕左侧的象素值； <br />　　toolbar=no 是否显示工具栏，yes为显示； <br />　　menubar，scrollbars 表示菜单栏和滚动栏。 <br />　　resizable=no 是否允许改变窗口大小，yes为允许； <br />　　location=no 是否显示地址栏，yes为允许； <br />　　status=no 是否显示状态栏内的信息（通常是文件已经打开），yes为允许； <br />　　&lt;/SCRIPT> js脚本结束<br /> 　　  <br />【3、用函数控制弹出窗口】 <br />　　<br />　　下面是一个完整的代码。 <br />　　&lt;html> <br />　　&lt;head> <br />　　&lt;script LANGUAGE="JavaScript"> <br />　　&lt;!-- <br />　　function openwin() { <br />　　window.open ("page.html", "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //写成一行<br />　　} <br />　　//--> <br />　　&lt;/script> <br />　　&lt;/head> <br />　　&lt;body onload="openwin()"> <br />　　任意的页面内容... <br />　　&lt;/body> <br />　　&lt;/html> <br /><br />　　这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢？ <br /><br />　　方法一：&lt;body onload="openwin()"> 浏览器读页面时弹出窗口； <br />　　方法二：&lt;body onunload="openwin()"> 浏览器离开页面时弹出窗口； <br />　　方法三：用一个连接调用： <br />　　&lt;a href="#" onclick="openwin()">打开一个窗口&lt;/a> <br />　　注意：使用的“#”是虚连接。 <br />　　方法四：用一个按钮调用： <br />　　&lt;input type="button" onclick="openwin()" value="打开窗口"> <br /> 　  <br />【4、同时弹出2个窗口】 <br />　　<br />　　 对源代码稍微改动一下： <br />　　<br />　　&lt;script LANGUAGE="JavaScript"> <br />　　&lt;!-- <br />　　function openwin() { <br />　　window.open ("page.html", "newwindow", "height=100, width=100, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=n o, status=no")//写成一行 <br />　　window.open ("page2.html", "newwindow2", "height=100, width=100, top=1 00, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, loca tion=no, status=no")//写成一行 <br />　　} <br />　　//--> <br />　　&lt;/script><br />　　为避免弹出的2个窗口覆盖，用top和left控制一下弹出的位置不要相互覆盖即可 。最后用上面说过的四种方法调用即可。 <br />　　注意：2个窗口的name(newwindows和newwindow2)不要相同，或者干脆全部为空。  <br />  <br />【5、主窗口打开文件1.htm，同时弹出小窗口page.html】 <br /><br />　　如下代码加入主窗口&lt;head>区： <br />　　&lt;script language="javascript"> <br />　　&lt;!-- <br />　　function openwin() { <br />　　window.open("page.html","","width=200,height=200") <br />　　} <br />　　//--> <br />　　&lt;/script> <br />　　加入&lt;body>区： <br />　　&lt;a href="1.htm" onclick="openwin()">open&lt;/a>即可。 <br />   <br />【6、弹出的窗口之定时关闭控制】 <br />　　<br />　　下面我们再对弹出的窗口进行一些控制，效果就更好了。如果我们再将一小段 代码加入弹出的页面(注意是加入page.html的HTML中，不是主页面中)，让它10秒后自动关闭是不是更酷了？ <br />首先，将如下代码加入page.html文件的&lt;head>区： <br />　　&lt;script language="JavaScript"> <br />　　function closeit() <br />　　{ <br />　　setTimeout("self.close()",10000) //毫秒 <br />　　} <br />　　&lt;/script> <br />　　然后，再用&lt;body onload="closeit()"> 这一句话代替page.html中原有的&lt;BODY>这一句就可以了。(这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。) <br /><br />【7、在弹出窗口中加上一个关闭按钮】 <br /><br />　　&lt;FORM> <br />　　&lt;INPUT TYPE='BUTTON' VALUE='关闭' onClick='window.close()'> <br />　　&lt;/FORM> <br />　　呵呵，现在更加完美了！<br /><br />【8、内包含的弹出窗口-一个页面两个窗口】 <br /><br />　　上面的例子都包含两个窗口，一个是主窗口，另一个是弹出的小窗口。通过下面的例子，你可以在一个页面内完成上面的效果。 <br /><br />　　&lt;html> <br />　　&lt;head> <br />　　&lt;SCRIPT LANGUAGE="JavaScript"> <br />　　function openwin() <br />　　{ <br />　　OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no ,scrollbars="+scroll+",menubar=no"); <br />　　//写成一行 <br />　　OpenWindow.document.write("&lt;TITLE>例子&lt;/TITLE>") <br />　　OpenWindow.document.write("&lt;BODY BGCOLOR=#ffffff>") <br />　　OpenWindow.document.write("&lt;h1>Hello!&lt;/h1>") <br />　　OpenWindow.document.write("New window opened!") <br />　　OpenWindow.document.write("&lt;/BODY>") <br />　　OpenWindow.document.write("&lt;/HTML>") <br />　　OpenWindow.document.close() <br />　　} <br />　　&lt;/SCRIPT> <br />　　&lt;/head> <br />　　&lt;body> <br />　　&lt;a href="#" onclick="openwin()">打开一个窗口&lt;/a> <br />　　&lt;input type="button" onclick="openwin()" value="打开窗口"> <br />　　&lt;/body> <br />　　&lt;/html> <br /><br />　　看看OpenWindow.document.write()里面的代码不就是标准的HTML吗？只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用 OpenWindow.document.close()结束啊。 <br /><br />【9、终极应用--弹出的窗口之Cookie控制】 <br /><br />　　回想一下，上面的弹出窗口虽然酷，但是有一点小毛病，比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页)，那么每次刷新这个页面，窗口都会弹出一次，我们使用cookie来控制一下就可以了。 <br />　　首先，将如下代码加入主页面HTML的&lt;HEAD>区： <br /><br />　　&lt;script> <br />　　function openwin(){ <br />　　window.open("page.html","","width=200,height=200") <br />　　} <br />　　function get_cookie(Name) { <br />　　var search = Name + "=" <br />　　var returnvalue = ""; <br />　　if (document.cookie.length > 0) { <br />　　offset = document.cookie.indexOf(search) <br />　　if (offset != -1) { <br />　　offset += search.length <br />　　end = document.cookie.indexOf(";", offset); <br />　　if (end == -1) <br />　　end = document.cookie.length; <br />　　returnvalue=unescape(document.cookie.substring(offset, end)) <br />　　} <br />　　} <br />　　return returnvalue; <br />　　} 　<br />　　function loadpopup(){ <br />　　if (get_cookie('popped')==''){ <br />　　openwin() <br />　　document.cookie="popped=yes" <br />　　} <br />　　} <br />　　&lt;/script> <br /><br />　　然后，用&lt;body onload="loadpopup()">（注意不是openwin而是loadpop啊！）替换主页面中原有的&lt;BODY>这一句即可。你可以试着刷新一下这个页面或重新进入该页面，窗口再也不会弹出了。真正的Pop-Only-Once！
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/200975#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Jun 2008 15:42:06 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/200975</link>
        <guid>http://angelialily.javaeye.com/blog/200975</guid>
      </item>
      <item>
        <title>将一个表中的数据导入另一个表中</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/200965" style="color:red;">http://angelialily.javaeye.com/blog/200965</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          insert into [EpiccDBTest2].[DBO].Table(userID,userName,age,Emal)<br />select top 10 dataID,dataName,dataAge,dataEmal from [EpiccDB].[DBO].Table2 where 条件<br /><br />[EpiccDBTest2].[DBO].Table 是要插入数据的数据库表<br />[EpiccDB].[DBO].Table2     是先有数据的表（把这个表的数据插入到[EpiccDBTest2].[DBO].Table表里）
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/200965#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 06 Jun 2008 15:26:02 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/200965</link>
        <guid>http://angelialily.javaeye.com/blog/200965</guid>
      </item>
      <item>
        <title>足球比赛用语</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/199822" style="color:red;">http://angelialily.javaeye.com/blog/199822</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.The goal keeper got the ball and booted it halfway across the field<br />  守门员得到了球，一脚把球踢过了半场.<br />2.The forward made a foul in the penalty area.<br />  前锋在禁区犯规了.<br />3.They have buit a wall of players for a free kick <br />  他们筑起了人墙来防守任意球.<br />4.What a shame! This is an own goal.<br />  真倒霉，这是一个乌龙球.<br />5.The game ended in a tie.<br />  比赛以平局结束.<br />6.It was a clear foul on the goalkeeper<br />  这是对守门员的明显犯规.<br />7.They've opened the scoring <br />  他们已经破门得分了.<br />8.They are leading by 3-1.<br />  他们以三比一领先<br />9.The host team beat the visiting team two to nothing <br />  主队以二比零战胜客队.
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/199822#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 18:02:33 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/199822</link>
        <guid>http://angelialily.javaeye.com/blog/199822</guid>
      </item>
      <item>
        <title>几个简单的HTML标签样式</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/199816" style="color:red;">http://angelialily.javaeye.com/blog/199816</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><br />&lt;HTML><br />&lt;HEAD><br />&lt;style type="text/css" media="screen,projection">嵌入式样式表<br />&lt;!-- 嵌入式定义 只改变当前所要改变的<br />   p{<br />   font-size:20xp;color:blue;font-family:宋体;background-color:#cccccc;<br />   text-decoraction:underline<br />  }<br />--><br />&lt;/style><br />&lt;TITLE> New Document &lt;/TITLE><br />&lt;META NAME="Generator" CONTENT="EditPlus"><br />&lt;META NAME="Author" CONTENT=""><br />&lt;META NAME="Keywords" CONTENT=""><br />&lt;META NAME="Description" CONTENT=""><br />&lt;/HEAD><br />body定义：整个页面都改变&lt;br><br />font-size:20xp：字体大小为20像素&lt;br><br />color:blue：字体颜色设置为蓝色&lt;br><br />text-decoraction:underline:显示效果使用下划线&lt;br><br />background-color:#cccccc：北京颜色灰色<br />&lt;BODY style="font-size:20xp;color:blue;font-family:宋体;background-color:#cccccc;<br />text-decoraction:blink"> <br /> &lt;table width="90%" border="1" cellspacing="0" cellpadding="0"><br />	&lt;tr><br />		&lt;td><br />			&lt;ol><br />				&lt;li>北京&lt;/li><br />				&lt;li>上海&lt;/li><br />				&lt;li>广州&lt;/li><br />			&lt;/ol><br />		&lt;/td><br />		 &lt;!-- 嵌入式定义 只改变当前所要改变的 用到提前定义的P--><br />		&lt;td>&lt;p>欢迎您&lt;/p>&lt;/td><br />		<br />	&lt;/tr><br />	&lt;tr>&lt;td><br />	<br />			&lt;ul><br />				&lt;li>唐山&lt;/li><br />				&lt;li>宝坻&lt;/li><br />				&lt;li>廊坊&lt;/li><br />			&lt;/ul><br />	&lt;/td>&lt;/tr><br />selected:默认选项<br />size>1就是大下拉框<br />	&lt;tr>&lt;td><br />		&lt;select size="4"><br />			&lt;option>叶子&lt;/option><br />			&lt;option>绿色&lt;/option><br />			&lt;option selected>红色&lt;/option><br />			&lt;option>黄色&lt;/option><br />			&lt;option>蓝色&lt;/option><br />		&lt;/select><br />	&lt;/td>&lt;/tr><br />	&lt;tr>&lt;td><br />		&lt;textarea cols="20" rows="5">熙熙呵呵在这里&lt;/textarea><br />	&lt;/td>&lt;/tr><br /><br />	&lt;tr>&lt;td><br />	accesskey:是for所对应的表单快捷键<br />	&lt;form><br />		&lt;lable for="user" accesskey="a">用户名：&lt;/lable><br />		   &lt;input type="text" name="user" id="user"/>&lt;br><br />		&lt;lable for="pass" accesskey="b">密码：&lt;/lable><br />		   &lt;input type="password" name="pass" id="pass"/>&lt;br><br />		性别：<br />		  &lt;input type="radio" name="sex" id="ss"><br />		    &lt;lable for="ss" name="c">男&lt;/lable><br />		  &lt;input type="radio" name="xx"><br />		    &lt;lable for="xx" name="d">男&lt;/lable>&lt;br><br />		&lt;lable for="hy" accesskey="e">婚姻状况：&lt;/lable><br />		  &lt;input type="checkbox" name="hy"><br />		      &lt;lable for="hy" name="y" id="hy">已婚&lt;/lable><br />			&lt;input type="checkbox" name="wh"><br />		      &lt;lable for="w" name="w">未婚&lt;/lable><br />	&lt;/form><br />	&lt;/td>&lt;/tr><br /><br />	base:用于指定超链接的基准位置<br />	link:当前文件和另一个文档或资源之间的关系。<br />	&lt;tr>&lt;td><br />	  &lt;base  herf="#" target="_blank"/><br />	&lt;/td>&lt;/tr><br />	&lt;tr>&lt;td><br />	<br />	&lt;/td>&lt;/tr><br /> &lt;/table><br />&lt;/BODY><br />&lt;/HTML>
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/199816#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 17:51:55 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/199816</link>
        <guid>http://angelialily.javaeye.com/blog/199816</guid>
      </item>
      <item>
        <title>用DOS命令给文件夹加密</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/197322" style="color:red;">http://angelialily.javaeye.com/blog/197322</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          用md批量命名文件夹时偶然发现，后查资料才知道，但原理也说不清<br />1.在开始菜单里打开命令提示符(ＸＰ在运行里输入cmd)<br /><br /><br />2.用md命令建立文件夹，现以在E盘根目录建立niu文件夹为例<br />键入md E:\\niu..\\ 注意，有2个点，还有斜杠，这是关键！<br /><br />3.在我的电脑里双击E:\\目录下的niu.文件夹，结果提示错误。呵呵，正常是打不开的~<br /><br />4.即使是删除，也提示错误，55555~~<br /><br />5.如果自己要打开文件夹，就在运行里键入文件夹路径<br />键入E:\niu..\即可打开文件夹，就可以正常使用了.(这里用单斜杠）<br /><br /><br />6.若要删除该文件夹，则在cmd中键入rd E:\\niu..\\就可以删除了（此文件夹为空时）。若文件夹下有文件也想一起删除的话可以用rd /s/q e:\\niu..\\就可以轻松搞定
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/197322#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 09:46:55 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/197322</link>
        <guid>http://angelialily.javaeye.com/blog/197322</guid>
      </item>
      <item>
        <title>英语、数据库重点学习</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/197315" style="color:red;">http://angelialily.javaeye.com/blog/197315</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这些天工作比较忙，昨晚加班到很晚。也没空写博客，晚上回去也是会不断的学习。今天开始我要扎实的学英语，学数据库。<br />哪位朋友有学习最好的网址不吝发一下。<br />                学习中... ...
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/197315#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 09:42:13 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/197315</link>
        <guid>http://angelialily.javaeye.com/blog/197315</guid>
      </item>
      <item>
        <title>删除完全相同的记录</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/194974" style="color:red;">http://angelialily.javaeye.com/blog/194974</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          删除完全相同的记录<br />如果没有递增字段可以采用临时表技术  <br />SELECT DISTINCT * INTO #tempTable FROM sourceTable <br />DELETE FROM sourceTable <br />INSERT INTO sourceTable SELECT * FROM #tempTable <br />DROP TABLE #tempTable <br />  <br />如果删除的表中存在自动增长列<br />如：<br />pid pname<br />2,"b"<br />6,"c"<br />14,"d"<br />15,"h"<br />16,"k"<br />17,"e"<br />18,"a"<br />19,"c"<br />20,"k"<br />21,"b"<br />可以采用如下SQL语句<br />  <br />DELETE FROM PInfo <br />WHERE (pid NOT IN <br />          (SELECT MAX(pid) <br />         FROM pinfo <br />         GROUP BY pname))
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/194974#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 20 May 2008 17:55:20 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/194974</link>
        <guid>http://angelialily.javaeye.com/blog/194974</guid>
      </item>
      <item>
        <title>数据库数据的导入导出</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/194971" style="color:red;">http://angelialily.javaeye.com/blog/194971</a>&nbsp;
          发表时间: 2008年05月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          SQL2000的数据导入导出<br />导入数据: 怎样将Excel表单里的大量数据导入的数据库中<br />   步骤1.在我们需要导入数据的数据库中点击右键->所有任务->导入数据<br />   在选择数据源下选择要导入的数据源类型 比如:用Excel97-2000导入的数据源格式是   Excel文档格式  然后选择你要导入的Excel文档名.<br />      2.选择要导入的数据库->下一步->表和工作表的命名区域,在这里可以更改你要创建的表的名称,和字段信息等.然后就下一步执行就可以生成表完成导入工作.<br /><br />导出数据:将数据库里的数据导入到Excel表单中<br />     步骤1.在我们需要导入数据的数据库中点击右键->所有任务->导出数据<br />         2.选择导出的数据源和导入的地方,导出格式等设置.
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/194971#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 20 May 2008 17:51:07 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/194971</link>
        <guid>http://angelialily.javaeye.com/blog/194971</guid>
      </item>
      <item>
        <title>编码转换的问题</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/192675" style="color:red;">http://angelialily.javaeye.com/blog/192675</a>&nbsp;
          发表时间: 2008年05月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          native2ascii是sun java sdk提供的一个工具。用来将别的文本类文件（比如*.txt,*.ini,*.properties,*.java等等）编码转为Unicode编码。<br />在我们做java程序时,有个最简单的例子就是错误提示: 当我们接收到数据库里传出的返回参数值时,可根据返回的参数值来定义错误信息.<br />而一些个错我信息我们可以将它转换为Unicode编码放在我们的ApplicationResourse.property属性文件中.这时我们就可以将我们的错误提示信息以中文显示转换后的Unicode字符放在这个文件中.程序加载后就可以以各种错误返回各种错误的提示<br /> 转换文件很简单:我们可以先命名为.txt文件将要转换的字符写入txt文件中.然后之行如下就可以生成属性文件:<br />  例如:我的.txt文件在E盘<br />E:\>native2ascii  原文件.txt  生成文件.property
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/192675#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 May 2008 18:37:51 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/192675</link>
        <guid>http://angelialily.javaeye.com/blog/192675</guid>
      </item>
      <item>
        <title>ActionFrom和request请求页面属性的区别</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/192654" style="color:red;">http://angelialily.javaeye.com/blog/192654</a>&nbsp;
          发表时间: 2008年05月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          今天在研究ActionFrom和request请求页面属性的区别, 今日出现这样的问题让我很难以理解:<br />   在我的Action里请求页面属性值,有的用ActionForm请求能得到,有的用request请求能得到,不知道为什么!<br />   这个是我的页面属性值:<br />   &lt;form name="form1"  method="post" action="&lt;%=url%>?method=updateOtherPId&backUrl=${pageContext.request.contextPath}/service/search_InsurancePID.jsp"   onsubmit="submitForm2()"><br />				&lt;table width="70%" border="0" align="center"><br />				    &lt;tr height="28"><br />				       &lt;td align="center" width="13%">投保人： <br />				       &lt;input type="hidden" name="tmp" id="tmp" value="&lt;%=tmp%>"/><br />			           &lt;input type="hidden" name="pId" id="pId" value="&lt;%=pId%>"/>&lt;/td><br />				       &lt;td><br />				           &lt;input type="text" name="ph" id="ph" size="30" readOnly value="&lt;%=ph%>"/><br />				           &lt;input type="hidden" name="backUrl" value="${pageContext.request.requestURL}?${pageContext.request.queryString}" /><br />						   &lt;input type="hidden" name="backParam" value="" /><br />						   &lt;input type="hidden" name="status" value="1" /><br />						   &lt;input type="hidden" name="action" value="add" /><br />				       &lt;/td><br />				   &lt;/tr><br />				    &lt;tr height="28"><br />				       &lt;td align="center" width="13%">更改为：&lt;/td><br />				       &lt;td><br />				          &lt;input type="text" name="phtmp" id="phtmp" size="30" value=""/><br />				       &lt;/td><br />				   &lt;/tr><br />				    &lt;tr><br />				       &lt;td align="center" width="13%">&nbsp;&lt;/td><br />				       &lt;td align="left" style="right:30xp">&nbsp;&nbsp;&nbsp;<br />				       		&lt;input type="button" class="clsBtn2w" name="btn1" value="修改" onclick="submitForm2();"/>&nbsp;&nbsp;&nbsp;&nbsp;<br />				       	    &lt;input type="button" name="btn1" class="clsBtn2w" value="取消" onclick="javascript:history.go(-1)"/><br />				       &lt;/td><br />				   &lt;/tr><br />				&lt;/table><br />		 	&lt;/form><br /><br />&lt;input type="hidden" name="pId" id="pId" value="&lt;%=pId%>"/>这个隐藏域里的pId 在action里用ActionFrom得不到,当然我的ActionFrom也定义了pId的属性.但不知是为什么.<br />在action里呢:<br />String pId   	=     request.getParameter("pId");<br />String phtmp      =     questionForm.getPhtmp();<br />int infoType      =     questionForm.getInfoType();<br />下面两项用ActionFrom就能得到其属性值, 上面的那个就要用request来得到.<br />今天研究到这里,差不多快研究懂了.等研究懂后发布出来和大家一起欣赏.<br />当然如果有对ActionFrom和request请求页面属性的区别理解深刻的同志,希望能不吝赐教.
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/192654#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 13 May 2008 17:31:53 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/192654</link>
        <guid>http://angelialily.javaeye.com/blog/192654</guid>
      </item>
      <item>
        <title>java自定义标签代码</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/186633" style="color:red;">http://angelialily.javaeye.com/blog/186633</a>&nbsp;
          发表时间: 2008年04月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          --------------------javaBean---------------<br />AuditingMSSqlIMp.java文件<br />public Page getAuditingListPage(int pageIndex, int pageSize,int userId) throws SQLException {<br />		// TODO Auto-generated method stub<br />			Page page = new Page();<br />			Connection conn = null;<br />			CallableStatement  stmt = null;<br />			ResultSet   rst = null;<br />			try{<br />				String str="{call dbo.up_auditingList(?,?,?)}";<br />				conn	= super.getDBConnection();<br />				stmt   	= conn.prepareCall(str);<br />				stmt.setInt(1, pageIndex);<br />				stmt.setInt(2, pageSize);<br />				stmt.setInt(3, userId);<br />				rst  = stmt.executeQuery();<br />				while(rst.next()){<br />					LpReadObj  auditing = new LpReadObj();<br />					auditing.setRegionName(rst.getString("regionName"));<br />					auditing.setRealName(rst.getString("realName"));<br />					auditing.setUserName(rst.getString("userName"));<br />					auditing.setApplyLpCount(rst.getInt("Ah_applyLpcount"));<br />					auditing.setApprovalCount(rst.getInt("ah_approvalCount"));<br />					auditing.setType(rst.getInt("ah_type"));<br />					auditing.setApplyDate(rst.getString("ah_applydate"));<br />					page.getItems().add(auditing);<br />					<br />				}<br />				if (stmt.getMoreResults()) {<br />					rst = stmt.getResultSet();<br />					if (rst.next()) {<br />						page.setTotalRecords(rst.getInt(1));<br />					}<br />				}<br />			}catch (SQLException e) {<br />				throw e;<br />			}finally{<br />				super.closeResultSet(rst);<br />				super.closeStatement(stmt);<br />				super.closeConnection(conn);<br />			}<br />			return page;<br />	}<br />--------------------页面使用文件---------------<br />auditing_Query.jsp 页面使用文件<br /><br />&lt;%@ page language="java" contentType="text/html; charset=GB18030"<br />    pageEncoding="GB18030"%><br />&lt;%@ page import="com.eline.epicc.user.*"%><br />&lt;%@ page import="com.eline.epicc.user.model.*"%><br />&lt;%@ taglib uri="/tlds/eline-common.tld" prefix="common1"%><br />&lt;%@ taglib uri="/tlds/eline-auditing.tld" prefix="auditing1"%><br />&lt;%<br />User user = Users.getUser();<br />if (user == null || user.getUserId() == 0) {<br />	System.out.println("Can not get instance of current user.");<br />	user = Users.getAnonymousUser();<br />}<br />%><br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><br />&lt;auditing1:auditingListQuery id="auditingList1" userId="&lt;%=user.getUserId()%>" pageSize="10"><br />&lt;table class="clsDataList" cellspacing="0" width="100%" border="1" cellpadding="1"><br />		&lt;tr height="30"><br />			&lt;th align="center" nowrap width="12%">分公司&lt;/th><br />			&lt;th align="center" nowrap width="10%">真实姓名&lt;/th><br />			&lt;th align="center" nowrap width="10%">登陆名称&lt;/th><br />			&lt;th align="center" nowrap width="4%">申请号码数&lt;/th><br />			&lt;th align="center" nowrap width="4%">批准号码数&lt;/th><br />			&lt;th align="center" nowrap width="5%">二维码类型&lt;/th><br />			&lt;th align="center" nowrap width="10%">批复日期&lt;/th><br />		&lt;/tr><br />		&lt;common1:items><br />		&lt;tr height="25"><br />			&lt;td align="center" width="12%">&lt;auditing1:auditingQueryAttribute name="regionName" />&lt;/td><br />			&lt;td align="center" width="10%">&lt;auditing1:auditingQueryAttribute name="realName" />&lt;/td><br />			&lt;td align="center" width="10%">&lt;auditing1:auditingQueryAttribute name="userName" />&lt;/td><br />			&lt;td align="center" width="4%">&lt;auditing1:auditingQueryAttribute name="applyLpCount" />&lt;/td><br />			&lt;td align="center" width="4%">&lt;auditing1:auditingQueryAttribute name="approvalCount" />&lt;/td><br />			&lt;td align="center" width="5%">&lt;auditing1:auditingQueryAttribute name="type" />&lt;/td><br />			&lt;td align="center" width="10%">&lt;auditing1:auditingQueryAttribute name="applyDate" />&lt;/td><br />		&lt;/tr><br />	 &lt;/common1:items><br /> &lt;/table><br /> &lt;table border="0" width="100%" cellspacing="0" cellpadding="0"><br />		&lt;tr><br />			&lt;td>&lt;common1:summaryForm />&lt;/td><br />			&lt;td align="right"><br />			&lt;table border="0" cellspacing="0" cellpadding="0"><br />				&lt;tr><br />					&lt;td>&lt;common1:numberForm><br />						&lt;input type="submit" value="GO"<br />							style="HEIGHT: 20px; FONT-FAMILY:SimSun" /><br />					&lt;/common1:numberForm>&lt;/td><br />					&lt;td valign="bottom">&lt;common1:firstForm><br />						&lt;input class="clsBtnPager" type="submit" value="7"><br />					&lt;/common1:firstForm>&lt;/td><br />					&lt;td valign="bottom">&lt;common1:prevForm><br />						&lt;input class="clsBtnPager" type="submit" value="3"><br />					&lt;/common1:prevForm>&lt;/td><br />					&lt;td valign="bottom">&lt;common1:nextForm><br />						&lt;input class="clsBtnPager" type="submit" value="4"><br />					&lt;/common1:nextForm>&lt;/td><br />					&lt;td valign="bottom">&lt;common1:lastForm><br />						&lt;input class="clsBtnPager" type="submit" value="8"><br />					&lt;/common1:lastForm>&lt;/td><br />				&lt;/tr><br />			&lt;/table><br />			&lt;/td><br />		&lt;/tr><br />	&lt;/table><br />&lt;/auditing1:auditingListQuery><br />--------------------配置页面使用的属性---------------<br />package com.eline.epicc.auditing.taglib;<br />import org.blue.util.StringUtils;<br />import com.eline.epicc.auditing.model.LpReadObj;<br />import com.eline.epicc.insurance.Insurances;<br />import com.eline.epicc.taglib.ItemAttributeTag;<br />public class AuditingQueryAttributeTag extends ItemAttributeTag  {<br /><br />	/**<br />	 * <br />	 */<br />	private static final long serialVersionUID = 1L;<br />	protected String createText() {<br />		LpReadObj obj = (LpReadObj) item;<br />		if (name.equalsIgnoreCase("regionName")) {<br />			return "" + obj.getRegionName();<br />		} else if (name.equalsIgnoreCase("userName")) {<br />			return  "" + obj.getUserName();<br />		}else if (name.equalsIgnoreCase("realName")) {<br />			return  "" + obj.getRealName();<br />		}else if(name.equalsIgnoreCase("mobilePIN")){<br />			return "" + StringUtils.toString(obj.getMobilePIN());<br />		}else if(name.equalsIgnoreCase("applyLpCount")){<br />			return "" + StringUtils.toString(obj.getApplyLpCount());<br />		}else if(name.equalsIgnoreCase("approvalCount")){<br />			return "" + StringUtils.toString(obj.getApprovalCount());<br />		}else if(name.equalsIgnoreCase("type")){<br />			return "" + Insurances.getTypeMessage(obj.getType());<br />		}else if(name.equalsIgnoreCase("applyDate")){<br />			 String  aa = StringUtils.toString(obj.getApplyDate());<br />			 String  bb = aa.substring(0, 11);<br />			return "" + bb;<br />		<br />		}<br />		return null;<br />	}<br />}<br /><br /><br />--------------------配置标签使用类---------------<br />package com.eline.epicc.auditing.taglib;<br /><br />import java.util.Collection;<br />import javax.servlet.http.HttpServletRequest;<br />import com.eline.epicc.auditing.Auditings;<br />import com.eline.epicc.taglib.ListTag;<br />import com.eline.epicc.taglib.SortOrder;<br />import com.eline.epicc.user.Users;<br />import com.eline.epicc.user.model.SortUsersBy;<br />import com.eline.epicc.user.model.User;<br />import com.eline.epicc.taglib.Page;<br /><br />public class AuditingQueryTag extends ListTag {<br />	/**<br />	 * <br />	 */<br />	private static final long serialVersionUID = 1L;<br />	protected final String prefix = "UserList_";<br />	protected boolean hasNext = false;<br />	private String regionName;//分公司<br />	private String userName;//姓名<br />	private String realName;<br />	private  int  userId;<br />	protected int sortBy		= SortUsersBy.Username;<br />	protected int sortOrder		= SortOrder.Ascending;<br />	protected String usernameFilter = null;<br />	private int tatalCount;<br />	private int doneCount; <br />	private int remainCount;<br />	private int unApplyCount; <br />	private int approvalCount;<br />	private int type;<br />	<br />	//审核记录<br />	private String mobilePIN;//TEL<br />	private int  applyLpCount;//applyCount<br />	private String applyDate; //审核日期<br />	public String getApplyDate() {<br />		return applyDate;<br />	}<br />		@Override<br />	protected Collection findCollection() throws Exception {<br />		// TODO Auto-generated method stub<br />		Collection coll = null;<br />		Page page = null;<br />		<br />		User user = Users.getUser();<br />		if (user == null || user.getUserId() == 0)<br />			throw new Exception("Can not get instance of current user.");<br />		<br />		HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();<br /><br />		// 保证每次调用该列表页面时总显示第一页<br />		if (request.getParameter(getParamPrefix() + "pageIndex") == null<br />				|| request.getParameter(super.getParamPrefix() + "pageIndex").equals("")<br />				|| request.getParameter(getParamPrefix() + "pageIndex").equalsIgnoreCase("null"))<br />			pageIndex = 0;<br />		page = Auditings.readAuditingList(pageIndex,pageSize,user.getUserId());<br />		coll = page.getItems();<br />		System.out.println("page.size()=" + page.getSize());<br />		<br />		// 为基类相应属性赋值,写共几条记录,共几页第几页用<br />		totalRecords = page.getTotalRecords();	// 共有多少条记录<br />		//totalRecords = 5;<br />		totalPages = (totalRecords + pageSize - 1) / pageSize;	// 共有多少页<br />		// 是否有下页<br />		hasNext = ((pageIndex + 1) &lt; totalRecords) ? true : false;<br />		return coll;<br />	}<br /><br />	@Override<br />	protected void initParamPrefix() {<br />		super.paramPrefix = this.prefix;<br />	}<br /><br />	public void setUsernameFilter(String usernameFilter) {<br />		if (usernameFilter != null<br />				&& (usernameFilter.length() == 0 || usernameFilter.equalsIgnoreCase("null")))<br />			this.usernameFilter = null;<br />		else<br />			this.usernameFilter = usernameFilter;<br />	}<br />	@Override<br />	protected boolean needsNextForm() {<br />		// TODO Auto-generated method stub<br />		return hasNext;<br />	}<br /><br />}<br /><br />--------------------页面属性配置文件---------------<br />  eline-auditing.tld文件 自定义标签配置属性文件<br />&lt;?xml version="1.0" encoding="GB2312"?><br />&lt;!DOCTYPE taglib<br /> PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"<br /> "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"><br /><br /> &lt;!-- a tag library descriptor --><br />&lt;taglib><br />	&lt;tlibversion>1.0&lt;/tlibversion><br />	&lt;jspversion>1.1&lt;/jspversion><br />	&lt;shortname>waftemplate&lt;/shortname><br />	&lt;uri>&lt;/uri><br />	&lt;info>EPicc Web Application Framework Template Tags&lt;/info><br /><br />	&lt;!--<br />		二维码列表显示<br />	 --><br />	&lt;tag><br />		&lt;name>auditingAttribute&lt;/name><br />		&lt;tagclass>com.eline.epicc.auditing.taglib.AuditingAttributeTag&lt;/tagclass><br />		&lt;bodycontent>empty&lt;/bodycontent><br />		&lt;info>用于二维码分配的详细信息&lt;/info><br /><br />		&lt;!-- default is "name" --><br />		&lt;attribute><br />			&lt;name>name&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />	&lt;/tag><br /><br />	&lt;tag><br />		&lt;name>auditingQueryAttribute&lt;/name><br />		&lt;tagclass>com.eline.epicc.auditing.taglib.AuditingQueryAttributeTag&lt;/tagclass><br />		&lt;bodycontent>empty&lt;/bodycontent><br />		&lt;info>用于二维码分配的详细信息&lt;/info><br /><br />		&lt;!-- default is "name" --><br />		&lt;attribute><br />			&lt;name>name&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />	&lt;/tag><br />    &lt;tag><br />		&lt;name>auditingListQuery&lt;/name><br />		&lt;tagclass>com.eline.epicc.auditing.taglib.AuditingQueryTag&lt;/tagclass><br />		&lt;bodycontent>JSP&lt;/bodycontent><br />		&lt;info>用于求出符合条件的二维码信息列表&lt;/info><br /><br />		&lt;!-- id字符串 --><br />		&lt;attribute><br />			&lt;name>id&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br /><br />		&lt;attribute><br />			&lt;name>userId&lt;/name><br />			&lt;required>true&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br /><br />		&lt;!-- 每页最大记录数 --><br />		&lt;attribute><br />			&lt;name>pageSize&lt;/name><br />			&lt;required>true&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br /><br />		&lt;!-- 第几页 --><br />		&lt;attribute><br />			&lt;name>pageIndex&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br /><br />		&lt;!-- 排序字段 --><br />		&lt;attribute><br />			&lt;name>sortBy&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;attribute><br />			&lt;name>sortOrder&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!-- 分公司 --><br />		&lt;attribute><br />			&lt;name>regionName&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!-- (手机)姓名 --><br />		&lt;attribute><br />			&lt;name>userName&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!-- 姓名 --><br />		&lt;attribute><br />			&lt;name>realName&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!-- 电话号码 --><br />		&lt;attribute><br />			&lt;name>mobilePIN&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		<br />				&lt;!--  申请号码数--><br />		&lt;attribute><br />			&lt;name>applyLpCount&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />			&lt;!--  批准号码数--><br />		&lt;attribute><br />			&lt;name>approvalCount&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!--二维码类型--><br />		&lt;attribute><br />			&lt;name>type&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />		&lt;!--审核日期--><br />		&lt;attribute><br />			&lt;name>applyDate&lt;/name><br />			&lt;required>false&lt;/required><br />			&lt;rtexprvalue>true&lt;/rtexprvalue><br />		&lt;/attribute><br />	&lt;/tag>		<br />&lt;/taglib><br />--------------------以上流程自定义标签实现---------------
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/186633#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 25 Apr 2008 10:15:10 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/186633</link>
        <guid>http://angelialily.javaeye.com/blog/186633</guid>
      </item>
      <item>
        <title>下拉框点击事件&amp;JS操作</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/186022" style="color:red;">http://angelialily.javaeye.com/blog/186022</a>&nbsp;
          发表时间: 2008年04月23日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          前几天遇到一个问题：当你点击一个选择下拉框内容时，另一个地方显示这个内容的详细介绍<br />例如： 点击“北京”  在一个文本框里显示北京的详细介绍信息<br />            “上海” 在一个文本框里显示上海的详细介绍信息<br />我采用的是JavaScript 辅助实现：<br />下拉框点击事件及JS操作     <br />    点击下拉菜单选项内容 显示相应的内容消息在另一个地方展现<br />－－－－－－－－－－－－－－－－－－－－－－－－－－－<br />方法1用javaScript＋onChange()事件 操作实现<br />&lt;%@ page language="java" contentType="text/html; charset=GB2312"<br />	pageEncoding="GB2312"%><br />&lt;%@ page import="com.eline.epicc.insurance.*"%><br />&lt;%@ page import="com.eline.epicc.insurance.model.*"%><br />&lt;%@ page import="java.util.*"%><br />&lt;%<br />ArrayList list = new ArrayList();<br />list = Insurances.GetInsuranceTypeInfos();<br />%><br />&lt;script><br />function fnChange(){<br />	    <br />	var oCar=document.frm.oCars.options[document.frm.oCars.selectedIndex].text;  //得到select name="oCars"的文本<br />	var index=document.frm.oCars.options[document.frm.oCars.selectedIndex];//当前所选择的那一项<br />	//alert(document.frm.oCars.options[document.frm.oCars.selectedIndex]);<br />	//document.frm.oData.value+=oCar + "\n";<br />	var len=document.getElementById("Cont").options.length; //得到隐藏的select 的长度<br />		for(var i=0;i&lt;=len;i++)<br />		{<br />			if(index.value==document.getElementById("Cont").options[i].value)<br />			document.getElementById("conID").value=document.getElementById                          ("Cont").options[i].text;<br />			}	<br />		}<br />&lt;/script><br />&lt;form name="frm" action="" method="post"><br />    &lt;%String option="北京是中国的首都"; %><br />    	&lt;select name="oCars" id="typeID" onChange="fnChange()">	<br />    		 &lt;%<br />				 for(int i=0;i&lt;list.size();i++){<br />					InsuranceTypeObj obj = (InsuranceTypeObj)list.get(i);<br />				%><br />					&lt;option  value="&lt;%=obj.getIn_ID()%>">&lt;%=obj.getIn_Genre() %>&lt;/option><br />			&lt;%} %><br />    	&lt;/select><br />		&lt;select name="cty" id="Cont" style="display:none"><br />			&lt;%<br />			for(int i=0;i&lt;list.size();i++){<br />				InsuranceTypeObj obj = (InsuranceTypeObj)list.get(i);	<br />			 %><br />			     &lt;option  value="&lt;%=obj.getIn_ID()%>">&lt;%=obj.getIn_Explain()%>&lt;/option><br />			&lt;%} %><br />	    &lt;/select><br />	     &lt;input type=text id="conID" name="Content" value="北京是中国的首都" readonly><br />&lt;/form><br /><br />－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br />方法2用简单一点的方法 操作实现<br /><br />&lt;tr height="25"><br />	&lt;td>请选择：&lt;/td><br />		&lt;td><br />		&lt;select name="in_TypeID" id="in_TypeID" onchange="javaScript:document.all.item('ts').innerHTML=this.options[this.selectedIndex].show;"><br />							                 <br />								    		 &lt;%<br />												 for(int i=0;i&lt;list.size();i++){<br />													InsuranceTypeObj obj = (InsuranceTypeObj)list.get(i);<br />												%><br />													&lt;option  value="&lt;%=obj.getIn_ID()%>" show="&lt;%=obj.getIn_Explain() %>">&lt;%=obj.getIn_Genre() %>&lt;/option><br />&lt;%} %><br />	&lt;/select>&lt;br>&nbsp;<br />&lt;span name="ts" id="ts">北京是中国的首都&lt;/span><br />&lt;/td><br />&lt;/tr><br /><br />-----------------------------------------------------<br />方法3<br /><br />%><br />&lt;script type="text/javascript"><br /> function myshow(){<br /> 	var ts=document.frm.Content;<br />	ts.value=document.frm.oCars.options[document.frm.oCars.selectedIndex].show;<br /> <br /> }<br />&lt;/script><br />&lt;form name="frm" action="" method="post"><br />  &lt;table><br />  	&lt;tr><br />  		&lt;td><br />  			&lt;select name="oCars" id="typeID" onchange="myshow();">	<br />    		 &lt;%<br />				 for(int i=0;i&lt;list.size();i++){<br />					InsuranceTypeObj obj = (InsuranceTypeObj)list.get(i);<br />				%><br />					&lt;option  value="&lt;%=obj.getIn_ID()%>" show="&lt;%=obj.getIn_Explain() %>">&lt;%=obj.getIn_Genre() %>&lt;/option><br />			&lt;%} %><br />    	    &lt;/select><br />	        &lt;input type="text" id="Content" name="Content" value="北京是中国的首都"><br />  		&lt;/td><br />  	&lt;/tr><br />  &lt;/table><br />&lt;/form><br /><br />===完===
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/186022#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 23 Apr 2008 17:40:20 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/186022</link>
        <guid>http://angelialily.javaeye.com/blog/186022</guid>
      </item>
      <item>
        <title>数据库多表连接查询</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/185385" style="color:red;">http://angelialily.javaeye.com/blog/185385</a>&nbsp;
          发表时间: 2008年04月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          学习数据库查询的时候对多表连接查询的有些概念还比较模糊。而连接查询是在数据库查询操作的时候肯定要用到的。对于此概念<br />我用通俗一些的语言和例子来进行讲解。这个例子是我讲课的时候经常采用的例子。<br />首先我们做两张表：员工信息表和部门信息表，在此，表的建立只为讲述连接的概念，所以字段非常的简单<br />EmployeeTB（员工信息表）：<br /><br />employeeid employeename deptid<br />0001  张三  01<br />0002  李四  01<br />0003  王五  02<br />0004  赵六  02<br />0005  郑七  NULL<br /><br />DeptTB（部门信息表）<br />deptid  deptname<br />01  技术部<br />02  市场部<br />03  工程部<br /><br />我们现在需要进行连接查询，连接两张表检索数据。分别检索员工信息表的员工编号、员工姓名和部门信息表中的部门名称。<br />显然，两个表的连接条件是 员工表的部门编号=部门表的部门编号<br />注意：郑七不属于任何部门（新来的员工，还没有分配到任何的部门），而工程部不存在任何的员工（比如是一个新成立的部门，还没有员工）<br />1、内连接查询<br />我们可以有两种方式，这两种是等效的<br />一种是：SELECT e.employeeid,e.employeename,d.deptname FROM EmployeeTB AS e,DeptTB AS d WHERE e.deptid=d.deptid<br />另外一个是：SELECT e.employeeid,e.employeename,d.deptname FROM EmployeeTB AS e INNER JOIN DeptTB AS d ON e.deptid=d.deptid<br />检索的结果都是：<br /><br />employeeid employeename deptname<br />0001  张三  技术部<br />0002  李四  技术部<br />0003  王五  市场部<br />0004  赵六  市场部<br /><br />而“郑七”和“工程部”的信息是不会检索出来。因为采用内连接计算的时候必须要保证连接的条件e.deptid=d.deptid匹配，结果才会被检索出来。当我们连接两张检索数据的时候，检索的方式是首先逐行扫描“员工信息表”中的记录，然后根据连接条件来决定此记录是否被检索。比如对于张三，这条记录的deptid是01（部门编号），它在部门表中能找到和它匹配的编号01，而编号01的部门名称（deptname）是“技术部”所以张三这条记录会被检索，最终的结果肯定是：<br /><br />0001  张三  技术部<br /><br />同样，李四、王五、赵六也能。但是郑七的部门编号是NULL，它在部门信息表中找不到匹配的项（因为部门信息表中不存在部门编号为NULL的部门），所以郑七不会被检索。<br />同理，没有任何人员的部门编号为03，所以工程部的记录也不会被检索<br /><br />2、左外联结<br />但是有些情况下，我们需要知道所有员工的信息，即使他不属于任何部门。这样我们就可以采用外连接，在这里为左外连接，也就是连接中的左表的表中的记录，无论能不能在右表中找到匹配的项，都要检索，如果没有匹配的项目，那么右表中的字段值为NULL（空），在这里就代表，此员工不属于任何部门。<br />检索语句为：<br />SELECT e.employeeid,e.employeename,d.deptname FROM EmployeeTB AS e LEFT OUTER JOIN DeptTB AS d ON e.deptid=d.deptid<br />检索的结果都是：<br /><br />employeeid employeename deptname<br />0001  张三  技术部<br />0002  李四  技术部<br />0003  王五  市场部<br />0004  赵六  市场部<br />0005  郑七  NULL<br /><br />但是在这里，工程部同样不会被检索，因为，deptname是在连接的右边的表中，“工程部”在左表中不存在任何的记录，所以不会被检索。这里关注的是“连接中的左边的表”<br /><br /><br />3、右外连接<br />有时，我们需要知道，全部部门的信息，即使它没有任何的员工。在我们的查询中部门表在连接的右边，如果我们想知道右边表中的所有记录信息，那么就可以采用右外连接，如果此记录在左边的表中找不到匹配项，则相应字段（employeeid,employeename)为NULL<br />检索语句为：<br />SELECT e.employeeid,e.employeename,d.deptname FROM EmployeeTB AS e RIGHT OUTER JOIN DeptTB AS d ON e.deptid=d.deptid<br />检索的结果都是：<br /><br />employeeid employeename deptname<br />0001  张三  技术部<br />0002  李四  技术部<br />0003  王五  市场部<br />0004  赵六  市场部<br />NULL  NULL  工程部<br /><br />但在这里，郑七是不会被检索了，因为它在右表中找不到匹配项，这里关注的是“连接中的右边的表”<br /><br />4、完全外连接<br />如果我们想知道所有的记录呢？无论员工有没有部门，部门有没有员工，我们都需要检索。这里就可以使用完全外连接。关注连接中的两部分。如果没有部门，部门为空，没有员工，员工信息为空。<br />检索语句为：<br />SELECT e.employeeid,e.employeename,d.deptname FROM EmployeeTB AS e FULL OUTER JOIN DeptTB AS d ON e.deptid=d.deptid<br />检索的结果都是：<br /><br />employeeid employeename deptname<br />0001  张三  技术部<br />0002  李四  技术部<br />0003  王五  市场部<br />0004  赵六  市场部<br />0005  郑七  NULL<br />NULL  NULL  工程部
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/185385#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 22 Apr 2008 11:57:47 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/185385</link>
        <guid>http://angelialily.javaeye.com/blog/185385</guid>
      </item>
      <item>
        <title>Java中将图片保存到数据库中</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/184969" style="color:red;">http://angelialily.javaeye.com/blog/184969</a>&nbsp;
          发表时间: 2008年04月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在实际的开发中，我们可能需要将图片、影音等文件直接保存到数据库中，然后通过编程方式将数据读出进行使用。例如将读出的图片数据显示出来，将读出的电影文件播放出来。<br /><br />二进制数据直接保存到文件和从文件中读出非常的简单。和普通的数据库操作差别不大。只是用到部分流操作。例如各种输入输出流操作。所以深刻理解流操是非常重要的。<br /><br />在此我借助于一个JSP的简单实例进行讲解。此实例保存职员数据，其中职员数据包含一个图片列。此列保存每名员工的照片。在此将照片直接保存到数据库中。首先建立职员信息表EmployeeInfo，表列非常的简单<br /><br />employeeId:职员编号（自动增长）；employeeName:职员姓名；age:职员年龄；pic:职员图片（image类型）<br /><br />首先讲解信息的保存。先建立一个录入界面index.jsp，其中包含一个&lt;input type="file"/>元素，用于让用户选择图片文件。<br /><br />页面代码如下（不做过多讲解）：<br /><br />&lt;%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />%><br /><br />&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br />&lt;html><br />  &lt;head><br />    &lt;base href="&lt;%=basePath%>"><br />    <br />    &lt;title>My JSP 'index.jsp' starting page&lt;/title><br /> &lt;meta http-equiv="pragma" content="no-cache"><br /> &lt;meta http-equiv="cache-control" content="no-cache"><br /> &lt;meta http-equiv="expires" content="0">    <br /> &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><br /> &lt;meta http-equiv="description" content="This is my page"><br /> &lt;!--<br /> &lt;link rel="stylesheet" type="text/css" href="styles.css"><br /> --><br />  &lt;/head><br />  <br />  &lt;body><br />    &lt;form action="addServlet" method="POST"><br />     &lt;table border="15" width="60%" align="center"><br />      &lt;tr><br />       &lt;td width="30%" align="right">EmployeeName:&lt;/td><br />       &lt;td width="70%" align="left">&lt;input type="text" name="employeeName"/>&lt;/td><br />      &lt;/tr><br />      &lt;tr><br />       &lt;td width="30%" align="right">Age:&lt;/td><br />       &lt;td width="70%" align="left">&lt;input type="text" name="age"/>&lt;/td><br />      &lt;/tr><br />      &lt;tr><br />       &lt;td width="30%" align="right">Image:&lt;/td><br />       &lt;td width="70%" align="left">&lt;input type="file" name="pic"/>&lt;/td><br />      &lt;/tr><br />      &lt;tr><br />       &lt;td colspan="2" align="center">&lt;input type="submit" value="add"/>&lt;/td><br />      &lt;/tr>      <br />     &lt;/table><br />    &lt;/form><br />  &lt;/body><br />&lt;/html><br /><br /><br />页面请求addServlet，获取录入信息，并调用JavaBean实现数据保存。Servlet代码如下：<br /><br />package com.frank.action;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br /><br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import com.frank.rule.*;<br />public class AddServlet extends HttpServlet {<br /><br /> /**<br />  * Constructor of the object.<br />  */<br /> public AddServlet() {<br />  super();<br /> }<br /><br /> /**<br />  * Destruction of the servlet. &lt;br><br />  */<br /> public void destroy() {<br />  super.destroy(); // Just puts "destroy" string in log<br />  // Put your code here<br /> }<br /><br /> /**<br />  * The doGet method of the servlet. &lt;br><br />  *<br />  * This method is called when a form has its tag value method equals to get.<br />  * <br />  * @param request the request send by the client to the server<br />  * @param response the response send by the server to the client<br />  * @throws ServletException if an error occurred<br />  * @throws IOException if an error occurred<br />  */<br /> public void doGet(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {<br /><br />  String employeeName=request.getParameter("employeeName");<br />  int age=Integer.parseInt(request.getParameter("age"));<br />  String pic=request.getParameter("pic");<br />  EmployeeDAO employeeDAO=new EmployeeDAO();<br />  if(employeeDAO.employeeAdd(employeeName, age, pic))<br />   response.sendRedirect("success.jsp");<br />  else<br />   response.sendRedirect("index.jsp");<br />  <br /> }<br /><br /> /**<br />  * The doPost method of the servlet. &lt;br><br />  *<br />  * This method is called when a form has its tag value method equals to post.<br />  * <br />  * @param request the request send by the client to the server<br />  * @param response the response send by the server to the client<br />  * @throws ServletException if an error occurred<br />  * @throws IOException if an error occurred<br />  */<br /> public void doPost(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {<br /><br />  doGet(request,response);<br /> }<br /><br /> /**<br />  * Initialization of the servlet. &lt;br><br />  *<br />  * @throws ServletException if an error occurs<br />  */<br /> public void init() throws ServletException {<br />  // Put your code here<br /> }<br /><br />}<br /><br /><br />此Servlet只是简单的获取页面输入的数据，其中获取的Pic为用户选择的图片路径。严格讲，获取文件需要经过验证，防止非法图片的选择，这个可以根据自己的需要改善。然后Servlet调用业务类，将获取的数据通过参数传入，进行数据的增加。其中employeeAdd方法实现数据的保存，代码如下：<br /><br />public boolean employeeAdd(String employeeName,int age,String pic){<br />  Connection conn=null;<br />  PreparedStatement pstmt=null;<br />  FileInputStream fis=null;<br />  try{<br />   Class.forName("net.sourceforge.jtds.jdbc.Driver");<br />   conn=DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/SampleDB","sa","");<br />   fis=new FileInputStream(pic);<br />   <br />   String strSQL="INSERT INTO employeeInfo VALUES(?,?,?)";<br />   pstmt=conn.prepareStatement(strSQL);<br />   pstmt.setString(1, employeeName);<br />   pstmt.setInt(2, age);<br />   pstmt.setBinaryStream(3, fis, fis.available());<br />   if(pstmt.executeUpdate()>0)<br />    return true;<br />   else<br />    return false;<br />  }catch(ClassNotFoundException ex){<br />   ex.printStackTrace();<br />   return false;<br />  }catch(SQLException ex){<br />   ex.printStackTrace();<br />   return false;<br />  }catch(IOException ex){<br />   ex.printStackTrace();<br />   return false;<br />  }finally{<br />   try{<br />    fis.close();<br />    pstmt.close();<br />    conn.close();<br />   }catch(Exception ex){<br />    <br />   }<br />  }<br /> }<br /><br />注意粗体部分，用获取的pic信息（文件路径）创建文件输入流对象，增加pic字段的内容通过流对象增加。<br /><br />pstmt.setBinaryStream(3, fis, fis.available());<br />三个参数分别为：参数索引，流对象，流对象大小<br /><br />当增加成功时，重定向到success.jsp<br /><br />那么如何验证图片数据是否保存到了数据库中呢？我们通过再次检索增加的数据，读出增加的图片数据并在页面中显示出来进行验证。<br /><br />首先建立一个非常简单的页面search.jsp，此页面通过文本框使用户输入要检索的人员的姓名，检索人员的基本信息（不检索图片数据），将检索的人员数据形成JOPO对象，保存到session中，以便页面使用。<br /><br />JOPO类（EmployeeObj)<br /><br />package com.frank.obj;<br /><br />public class EmployeeObj {<br /> private int employeeId;<br /> private String employeeName;<br /> private int age;<br /> public int getEmployeeId() {<br />  return employeeId;<br /> }<br /> public void setEmployeeId(int employeeId) {<br />  this.employeeId = employeeId;<br /> }<br /> public String getEmployeeName() {<br />  return employeeName;<br /> }<br /> public void setEmployeeName(String employeeName) {<br />  this.employeeName = employeeName;<br /> }<br /> public int getAge() {<br />  return age;<br /> }<br /> public void setAge(int age) {<br />  this.age = age;<br /> }<br /> <br />}<br /><br /><br />search.jsp页面代码如下：<br /><br />&lt;%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />%><br /><br />&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br />&lt;html><br />  &lt;head><br />    &lt;base href="&lt;%=basePath%>"><br />    <br />    &lt;title>My JSP 'search.jsp' starting page&lt;/title><br />    <br /> &lt;meta http-equiv="pragma" content="no-cache"><br /> &lt;meta http-equiv="cache-control" content="no-cache"><br /> &lt;meta http-equiv="expires" content="0">    <br /> &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><br /> &lt;meta http-equiv="description" content="This is my page"><br /> &lt;!--<br /> &lt;link rel="stylesheet" type="text/css" href="styles.css"><br /> --><br /><br />  &lt;/head><br />  <br />  &lt;body><br />    &lt;form action="searchServlet" method="POST"><br />     employeeName:&lt;input type="text" name="employeeName"/><br />     &lt;input type="submit" value="search"/><br />    &lt;/form><br />  &lt;/body><br />&lt;/html><br /><br /><br />通过searchServlet实现基本信息的检索<br /><br />package com.frank.action;<br /><br />import java.io.IOException;<br />import java.io.PrintWriter;<br /><br />import javax.servlet.ServletException;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br />import javax.servlet.http.HttpSession;<br /><br />import com.frank.obj.EmployeeObj;<br />import com.frank.rule.EmployeeDAO;<br /><br />public class SearchServlet extends HttpServlet {<br /><br /> /**<br />  * Constructor of the object.<br />  */<br /> public SearchServlet() {<br />  super();<br /> }<br /><br /> /**<br />  * Destruction of the servlet. &lt;br><br />  */<br /> public void destroy() {<br />  super.destroy(); // Just puts "destroy" string in log<br />  // Put your code here<br /> }<br /><br /> /**<br />  * The doGet method of the servlet. &lt;br><br />  *<br />  * This method is called when a form has its tag value method equals to get.<br />  * <br />  * @param request the request send by the client to the server<br />  * @param response the response send by the server to the client<br />  * @throws ServletException if an error occurred<br />  * @throws IOException if an error occurred<br />  */<br /> public void doGet(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {<br /><br />  String employeeName=request.getParameter("employeeName");<br />  EmployeeDAO employeeDAO=new EmployeeDAO();<br />  EmployeeObj employeeObj=employeeDAO.getEmployeeByName(employeeName);<br />  HttpSession session=request.getSession();<br />  session.setAttribute("employee", employeeObj);<br />  response.sendRedirect("display.jsp");<br /> }<br /><br /> /**<br />  * The doPost method of the servlet. &lt;br><br />  *<br />  * This method is called when a form has its tag value method equals to post.<br />  * <br />  * @param request the request send by the client to the server<br />  * @param response the response send by the server to the client<br />  * @throws ServletException if an error occurred<br />  * @throws IOException if an error occurred<br />  */<br /> public void doPost(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {<br /><br />  doGet(request,response);<br /> }<br /><br /> /**<br />  * Initialization of the servlet. &lt;br><br />  *<br />  * @throws ServletException if an error occurs<br />  */<br /> public void init() throws ServletException {<br />  // Put your code here<br /> }<br /><br />}<br /><br /><br />此Servlet调用业务类的getEmployeeByName方法检索人员基本信息，返回EmployeeObj对象，并放入session中，当然也可以放入request中，根据自己的需要改进。页面检索成功后重定向到display.jsp进行信息的显示（稍后讲解）<br /><br />getEmployeeByName方法代码如下：<br /><br /> public EmployeeObj getEmployeeByName(String employeeName){<br />  Connection conn=null;<br />  PreparedStatement pstmt=null;<br />  ResultSet rst=null;<br />  EmployeeObj employeeObj=new EmployeeObj();<br />  try{<br />   Class.forName("net.sourceforge.jtds.jdbc.Driver");<br />   conn=DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/SampleDB","sa","");<br />   <br />   String strSQL="SELECT employeeId,employeeName,age FROM EmployeeInfo WHERE employeeName=?";<br />   pstmt=conn.prepareStatement(strSQL);<br />   pstmt.setString(1, employeeName);<br />   rst=pstmt.executeQuery();<br />   if(rst.next()){<br />    employeeObj.setEmployeeId(rst.getInt("employeeId"));<br />    employeeObj.setEmployeeName(rst.getString("employeeName"));<br />    employeeObj.setAge(rst.getInt("age"));<br />    return employeeObj;<br />   }<br />   return null;<br />  }catch(ClassNotFoundException ex){<br />   ex.printStackTrace();<br />   return null;<br />  }catch(SQLException ex){<br />   ex.printStackTrace();<br />   return null;<br />  }finally{<br />   try{<br />    pstmt.close();<br />    conn.close();<br />   }catch(Exception ex){<br />    <br />   }<br />  }<br /> } <br /><br />display.jsp负责显示查询出的结果信息，代码如下：<br /><br />&lt;%@ page language="java" import="java.util.*,com.frank.obj.*" pageEncoding="ISO-8859-1"%><br />&lt;%<br />String path = request.getContextPath();<br />String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<br />%><br /><br />&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br />&lt;html><br />  &lt;head><br />    &lt;base href="&lt;%=basePath%>"><br />    <br />    &lt;title>My JSP 'display.jsp' starting page&lt;/title><br />    <br /> &lt;meta http-equiv="pragma" content="no-cache"><br /> &lt;meta http-equiv="cache-control" content="no-cache"><br /> &lt;meta http-equiv="expires" content="0">    <br /> &lt;meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><br /> &lt;meta http-equiv="description" content="This is my page"><br /> &lt;!--<br /> &lt;link rel="stylesheet" type="text/css" href="styles.css"><br /> --><br /> &lt;%<br />  EmployeeObj employeeObj=(EmployeeObj)session.getAttribute("employee");<br />  %><br />  &lt;/head><br />  <br />  &lt;body><br />    &lt;table width="80" border="15"><br />     &lt;tr><br />      &lt;td width="30%" align="right">EmployeeId&lt;/td><br />      &lt;td width="70%" align="left">&lt;%=employeeObj.getEmployeeId() %>&lt;/td><br />     &lt;/tr><br />     &lt;tr><br />      &lt;td width="30%" align="right">EmployeeName&lt;/td><br />      &lt;td width="70%" align="left">&lt;%=employeeObj.getEmployeeName() %>&lt;/td><br />     &lt;/tr><br />     &lt;tr><br />      &lt;td width="30%" align="right">Age&lt;/td><br />      &lt;td width="70%" align="left">&lt;%=employeeObj.getAge() %>&lt;/td><br />     &lt;/tr><br />     &lt;tr><br />      &lt;td width="30%" align="right">Pic&lt;/td><br />      &lt;td width="70%" align="left">&lt;img src="displayServlet?employeeId=&lt;%=employeeObj.getEmployeeId() %>"/>&lt;/td><br />     &lt;/tr>     <br />    &lt;/table><br />  &lt;/body><br />&lt;/html><br /><br /><br />代码非常的简单，只是简单的从session中获取保存的EmployeeObj对象，然后利用jsp表达式将数据成员信息显示到页面上。但是注意粗体部分，因为我们需要将保存的图片数据读出，然后显示成图片。所以在此我们利用Img元素显示图片，而Src利用displayServlet的运行结果输出到客户端，作为图片的显示源。displayServlet包含参数employeeId，用来决定具体显示哪一员工的图片。<br /><br />displayServlet通过Servlet输出流，将读取的图片数据发送到客户端，代码如下：<br /><br />package com.frank.action;<br /><br />import java.awt.image.BufferedImage;<br />import java.io.IOException;<br />import java.io.InputStream;<br />import java.io.PrintWriter;<br /><br />import javax.imageio.ImageIO;<br />import javax.servlet.ServletException;<br />import javax.servlet.ServletOutputStream;<br />import javax.servlet.http.HttpServlet;<br />import javax.servlet.http.HttpServletRequest;<br />import javax.servlet.http.HttpServletResponse;<br /><br />import com.frank.rule.EmployeeDAO;<br /><br />public class DisplayServlet extends HttpServlet {<br /><br /> /**<br />  * Constructor of the object.<br />  */<br /> public DisplayServlet() {<br />  super();<br /> }<br /><br /> /**<br />  * Destruction of the servlet. &lt;br><br />  */<br /> public void destroy() {<br />  super.destroy(); // Just puts "destroy" string in log<br />  // Put your code here<br /> }<br /><br /> /**<br />  * The doGet method of the servlet. &lt;br><br />  *<br />  * This method is called when a form has its tag value method equals to get.<br />  * <br />  * @param request the request send by the client to the server<br />  * @param response the response send by the server to the client<br />  * @throws ServletException if an error occurred<br />  * @throws IOException if an error occurred<br />  */<br /> public void doGet(HttpServletRequest request, HttpServletResponse response)<br />   throws ServletException, IOException {<br />  <br />  response.setContentType("image/gif");<br />  int employeeId=Integer.parseInt(request.getParameter("employeeId"));<br />  EmployeeDAO employeeDAO=new EmployeeDAO();<br />  InputStream is=employeeDAO.getPicById(employeeId);<br />  int size=is.available();<br />  byte[] image=new byte[size];<br />  is.read(image);<br />  ServletOutputStream out=response.getOutputStream();<br />  out.write(image);<br />  <br /> }<br /><br /> /**<br />  * Initialization of the servlet. &lt;br><br />  *<br />  * @throws ServletException if an error occurs<br />  */<br /> public void init() throws ServletException {<br />  // Put your code here<br /> }<br /><br />}<br />在此，调用业务类的getPicById方法得到图片数据的输入流。然后获取的输入流写到ServletOutputStream，这样可以在Servlet的输出端使用，即img的src中使用<br /><br />getPicById代码如下：<br /><br /> public InputStream getPicById(int employeeId){<br />  Connection conn=null;<br />  PreparedStatement pstmt=null;<br />  ResultSet rst=null;<br />  InputStream is=null;<br />  try{<br />   Class.forName("net.sourceforge.jtds.jdbc.Driver");<br />   conn=DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/SampleDB","sa","");<br />   <br />   String strSQL="SELECT pic FROM EmployeeInfo WHERE employeeId=?";<br />   pstmt=conn.prepareStatement(strSQL);<br />   pstmt.setInt(1, employeeId);<br />   rst=pstmt.executeQuery();<br />   if(rst.next()){<br />    is=rst.getBinaryStream("pic");<br />    return is;<br />   }<br />   return null;<br />  }catch(ClassNotFoundException ex){<br />   ex.printStackTrace();<br />   return null;<br />  }catch(SQLException ex){<br />   ex.printStackTrace();<br />   return null;<br />  }finally{<br />   try{<br />    pstmt.close();<br />    conn.close();<br />   }catch(Exception ex){<br />    <br />   }<br />  }<br /> } <br /><br />注意粗体部分<br /><br />好了，我们可以通过运行结果来进行验证，假设我们搜索名称为Mike的人员数据，那么这样：<br /><br />点search按钮，运行结果如下：<br /><br />好了，显示出了检索结果，不但包括人员的基本数据，保存到数据库中的图片数据也被读出并显示成图片。<br /><br />代码只是利用jsp简单的进行体现，大家可以根据自己的需要进行改进<br /><br />---很抱歉截图不可以在这个上面显示 －－－－
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/184969#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Apr 2008 15:12:14 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/184969</link>
        <guid>http://angelialily.javaeye.com/blog/184969</guid>
      </item>
      <item>
        <title>关于时间、日期的句型 </title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/184780" style="color:red;">http://angelialily.javaeye.com/blog/184780</a>&nbsp;
          发表时间: 2008年04月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.What't the date today?   今天几号？<br />2.It's the ninth of August.(今天是)8月9号。<br />3.What was the date yesterday? 昨天是几号？<br />4.It was the second of July.(昨天是)7月2号。<br />5.When's your birthday? 你的生日是什么时候？<br />6.It falls on the thirteeth of next month.(我的生日)是下月13日。<br />7.What day is the tenth of August? 8月10日星期几？<br />8.I am sure it is Friday. 我敢肯定是星期五。<br />9.I wonder if today if Wednesday, August 9.我想知道今天是8月9号星期三吗？<br />10.Could you tell me the time? 你能告诉我几点了吗？<br />11.What time is it by your watch? 你的手表几点？<br />12.It's 9:00 an sharp. 现在上午九点证。
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/184780#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Apr 2008 11:04:01 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/184780</link>
        <guid>http://angelialily.javaeye.com/blog/184780</guid>
      </item>
      <item>
        <title>祝酒用语</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/184774" style="color:red;">http://angelialily.javaeye.com/blog/184774</a>&nbsp;
          发表时间: 2008年04月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1.Toast!/Cheers!/Here's to.../ Bottorns up! 干杯！<br />2.To you and yours! 为您和您的家人干杯！<br />3.Here's to everyone! 为在座的各位干杯！<br />4.Here's to your health! 为您的健康干杯！<br />5.I raise my glass to ou[color=brown][/color]r long-lasting friendship! 为我们的友谊地久天长举杯！<br />6.I propose a toast to your success! 我提议为您的成功干杯！<br />7. Allow me to ask you to join me in a toast to the health of our host! 请允许我邀请大家一道为我们东道主的健康举杯！
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/184774#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Apr 2008 10:57:49 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/184774</link>
        <guid>http://angelialily.javaeye.com/blog/184774</guid>
      </item>
      <item>
        <title>回到javaEye的心情</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/184766" style="color:red;">http://angelialily.javaeye.com/blog/184766</a>&nbsp;
          发表时间: 2008年04月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="color: green">好久没有来看我的java一角了，回到这里来感觉还是特别的亲切，感觉比每个博客都好，因为在这里可以看到的只是学习技术上的交流。让人不会觉得那么的空虚， 只有在虚拟的世界里才会找到自我，找到属于自己的世界。 我要好好的学习了，在不学习都将来都会跟不上时代了，要和世界接轨嘛！ </span>
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/184766#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Apr 2008 10:50:05 +0800</pubDate>
        <link>http://angelialily.javaeye.com/blog/184766</link>
        <guid>http://angelialily.javaeye.com/blog/184766</guid>
      </item>
      <item>
        <title>NoClassDefFoundError 解决方案</title>
        <author>Angelialily</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://angelialily.javaeye.com">Angelialily</a>&nbsp;
          链接：<a href="http://angelialily.javaeye.com/blog/176645" style="color:red;">http://angelialily.javaeye.com/blog/176645</a>&nbsp;
          发表时间: 2008年03月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          昨天就想做个简单的数组读取测试。用记事本做了一个简单的java类，用DOS命令来编译。结果编译通过后报错了，总报：Exception   in   thread   "main"   java.lang.NoClassDefFoundError: 这个错误。找老半天资料也没发现具体哪错了。因为我的elipse都在正常的运行。应该JDK不会有什么问题，如果有elipse不可能启动的。<br /><br />   今天我又研究这个问题，我想一定要搞清楚为什么哪错了，就一个简单的Hello就不能输出来。嘿嘿 功夫不负有心人。今天我终于解决了，也发现了它为什么不能运行报总报那个错误和elipse还能正常运行的原因。<br /><br />问题还是出在了环境变量的配置里了。虽然elipse正常运行是因为找到了JDK，但是JDK的配置不当就不支持DOS命令里运行Java程序。 解决放案就是：在环境变量里的classpath下 加上这个配置路径就可以了。<br /><br />  .;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar<br /><br />CLASSPATH为java加载类(class or lib)路径，只有类在classpath中，java命令才能识别，设为：.;%.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;%java_home%\jre\lib\rt.jar(要加.表示当前路径) 。<br />我配置的时候只加入了tools.jar这个文件，少了两个dt.jar和rt.jar。但是这都不是最重要的。最重要的是最前面的那个点（.）表示当前路径 加上就可以了。<br /><br />  希望有需要的朋友，也可以帮你解决问题。
          <br/>
          <span style="color:red;">
            <a href="http://angelialily.javaeye.com/blog/176645#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">