<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>pacer123</title>
    <description></description>
    <link>http://pacer123.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>有关JMS消息列队未执行的一点总结</title>
        <author>pacer123</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pacer123.javaeye.com">pacer123</a>&nbsp;
          链接：<a href="http://pacer123.javaeye.com/blog/208250" style="color:red;">http://pacer123.javaeye.com/blog/208250</a>&nbsp;
          发表时间: 2008年06月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          问题：<br />        某项目种突然出现了如下问题：A流程采用的JMS进行异步的处理提交后的（派单、修改工单状态）2项工作。但目前工单提交后同步处理数据完成之后，而通过JMS异步处理的向下级派单以及修改工单状态两项工作未完成，影响流程继续向下流转。通过查看系统日志，工单在提交后JMS发送消息成功，并未出现异常情况，后台也无错误日志。所以确定发送消息没有问题，此刻怀疑是否在接受消息或者执行的时候出现了问题。之前系统提交的工单都可以<br />正常执行JMS消息列队中的任务，可就在最近2天出现了这样的情况，不可能是由代码影响。<br />        应用服务器：WEBSPHERE5.1<br />    分析：<br />	查看websphere的配置，结果发现应用种的消息监听中的一个监听器没有启动，而该监听器正是监听该消息列队的监听器。为什么会没有启动呢？该监听器被设置为随服务启动而自启动的。为什么会被关闭，借助google发现一些眉目，最后查看了用户组中的websphere用户被禁用了（不知道什么时候被某人给禁用）。随即将该用户启用，重新启动服务，一切ok，该监听也正常启动。以为问题会解决，然而通过走流程新建工单提交后，问题还依旧存在（崩溃啊！）监听也正常启动。可是为什么消息列队还没有执行，到现在系统种未处理的工单都已经有90多条了。也就是说有90多个消息列队未被执行。（另外一个异常情况为，该消息监听器会莫名其妙的被关闭）。无奈又去看了看websphere种的有关jms监听的设置，突然发现他的最大消息数目为40。才恍然大悟，莫非是消息列队种目前已经有90个消息，而JMS监听的设置最大消息数目为40。超出了设置的最大范围，消息列队被阻塞而导致被自动关闭。于是将最打消息数目修改为200。保存重启服务，访问系统后，之前为能被异步处理的90多条工单竟然向下派单了，问题解决了。长舒一口气！！原来问题是在这里啊！真是梦里寻他千百度，蓦然回首问题在此处:)<br />    总结：<br />         1、消息监听器未正常启动，原因为用户组中的websphere用户被禁用。<br />         2、消息监听器启动好之后会莫名其妙的关闭，消息列队阻塞，阻塞的消息列队不会被正常执行。<br />         3、当出现消息列队阻塞不能正常执行，可以尝试修改消息列队数目最大值。（原则：修改数量应该超过被阻塞的消息列队数目）<br /><br />以上为个人解决实际问题中的一点总结，还有不完善的地方，忘谅解！！
          <br/>
          <span style="color:red;">
            <a href="http://pacer123.javaeye.com/blog/208250#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 26 Jun 2008 15:27:46 +0800</pubDate>
        <link>http://pacer123.javaeye.com/blog/208250</link>
        <guid>http://pacer123.javaeye.com/blog/208250</guid>
      </item>
      <item>
        <title>web打印（套打）</title>
        <author>pacer123</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pacer123.javaeye.com">pacer123</a>&nbsp;
          链接：<a href="http://pacer123.javaeye.com/blog/203991" style="color:red;">http://pacer123.javaeye.com/blog/203991</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          通常客户会要求不使用web页面打印的方式，而是使用套打方式实现需求功能。此时我们可以采用jatoolsPrinter去实现该打印功能，简单介绍使用说明：<br />1、jatoolsP.cab文件是必须的，可以放在jsp页面的同级目录下。<br />2、套打对应的图片文件也可以放在同级目录。<br />3、jsp页面实现如下：<br />   &lt;html><br />&lt;head>     <br />	&lt;!-- 插入打印控件 --><br />&lt;OBJECT ID="jatoolsPrinter" CLASSID="CLSID:B43D3361-D975-4BE2-87FE-057188254255" codebase="jatoolsP.cab#version=1,2,0,5">&lt;/OBJECT>  <br />&lt;style>&lt;!--<br />*{<br />-moz-box-sizing: border-box;<br />}<br />.hide_for_jatools_print{}<br />.jc{position:absolute;overflow:hidden}<br />.jnc{position:absolute}<br />.pb{background:white;float: left;overflow:hidden;margin:10;width:830;height:480;background-color:white;border-left:1px solid black;border-top:1px solid black;	border-right:4px solid black;border-bottom:4px solid black;}<br />.c7,.c6,.c5{margin-left:2px;margin-bottom:-2px;text-align: center;font-family: 宋体;font-size: 36px;font-weight: bold;color: #FF0000}<br />.c4,.c3,.c2,.c1,.c0{margin-left:2px;margin-bottom:-2px;font-family: 宋体;font-size: 12px;}<br />-->&lt;/style>&lt;script><br />document.print_settings=new Object();<br />document.pageCount=2;<br />document.print_settings.orientation=1;<br />document.print_settings_id='null';<br />document.documents=document;<br />document.shapesUsed=false;<br />document.copyrights='杰创软件拥有版权 www.jatools.com';<br />&lt;/script>&lt;title>销售计量专用发票&lt;/title><br />&lt;script><br />function doPrint(how)<br />{<br />    if(typeof(jatoolsPrinter.page_div_prefix)=='undefined'){<br />        alert("请按页顶上的黄色提示下载ActiveX控件.如果没有提示请按以下步骤设置ie.\n 工具-> internet 选项->安全->自定义级别,设置 ‘下载未签名的 ActiveX ’为'启用'状态")<br />        return ;<br />    }<br />	//打印文档对象<br />    var myreport ={ <br />    		documents: document,    // 打印页面(div)们在本文档中<br />    		copyrights  :    '杰创软件拥有版权 www.jatools.com'         // 版权声明必须<br />    			  };<br />    			  <br />    // 调用打印方法<br />    if(how == '打印预览')<br />    	jatoolsPrinter.printPreview(myreport );   // 打印预览<br />   	else if(how == '打印')<br />   		jatoolsPrinter.print(myreport ,true);     // 打印前弹出打印设置对话框 <br />   	else if(how == '直接打印')<br />   		jatoolsPrinter.print(myreport ,false);       // 不弹出对话框打印<br />}<br />&lt;/script> 	<br />&lt;/head><br />&lt;body bgcolor="#AAAAAA"><br />&lt;%<br />    String id = request.getParameter("ID");<br />    List list = new ArrayList();<br />    list =  PreparePrintSLDJData.getPrintSLDJListById(id);<br />    System.out.println("==========获得打印单据id============" + id);<br />	String tzrq = "";<br />	Date date = new Date();<br />	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");<br />	tzrq = sdf.format(date);<br /><br />	int grTotalMondy = 0;<br /><br />    PrintSLDJListForm plf = null;<br />   if(list.size() > 0 )<br />   {<br />	    plf = (PrintSLDJListForm)list.get(0);<br />   }<br />%><br /><br />&lt;%<br />   if(list != null && list.size() > 0)	<br />   {<br />	   int totalPage = list.size() / 3 + 1;<br />	   int startNum = 0;<br />	   int endNum = 6;<br />	   for(int i=1 ; i &lt;=  totalPage ; i++)<br />		   {<br />//公共部分的表头信息<br />%><br />	&lt;div id="_page_&lt;%= i%>" class="pb" >&lt;div id="page&lt;%= i%>"><br />		&lt;div class="jnc" STYLE="left:0; top:0;clip:rect(0,820,450,0)"><br />		&lt;img  class='hide_for_jatools_print' src="shouliao.jpg" width="800" height="450">&lt;/div><br /><br />		&lt;div class="jc" STYLE="left:200; top:85; width:90;height:20">&lt;p class="c0" style="margin-top:4px;">&lt;%=plf.getDepartment()%>&nbsp;&lt;/p><br />		&lt;/div><br /><br />		&lt;%<br />			if(i &lt; totalPage)<br />		    {<br />				startNum = (i - 1) * 3;<br />				endNum = (i - 1) * 3 + 3;<br />			}else if(i == totalPage){<br />				startNum = (i - 1) * 3;<br />				endNum = list.size();<br />			}<br /><br />			int top=0;<br />			String topn = "";<br />			int k = 0;<br />				for(int j = startNum ; j &lt; endNum ; j++)<br />					{<br />						plf = (PrintSLDJListForm)list.get(j);<br />						top = 170 + k * 35;<br /><br />						topn = top + "";<br />						//列表显示的数据信息，已经实现了分页打印<br />					<br />		%><br />					&lt;div class="jc" STYLE="left:50; top:&lt;%=topn%>; width:90;height:20">&lt;p class="c0" style="margin-top:4px;">&lt;%=plf.getGoodType()%>&nbsp;&lt;/p><br />					&lt;/div><br />					&lt;div class="jc" STYLE="left:240; top:&lt;%=topn%>; width:90;height:20">&lt;p class="c0" style="margin-top:4px;">&lt;%=plf.getUnit()%>&nbsp;&lt;/p><br />					&lt;/div><br />					&lt;div class="jc" STYLE="left:320; top:&lt;%=topn%>; width:90;height:20">&lt;p class="c0" style="margin-top:4px;">&lt;%=plf.getQuantity()%>&nbsp;&lt;/p><br />					&lt;/div><br />					&lt;div class="jc" STYLE="left:400; top:&lt;%=topn%>; width:90;height:20">&lt;p class="c0" style="margin-top:4px;">&lt;%=plf.getGrPrice()%>&nbsp;&lt;/p><br />					&lt;/div><br />		&lt;%<br />				   k++;<br />		          if(k == 3 * i) break;<br />				}<br />		%><br /><br />	   &lt;/div><br />	   <br />	&lt;/div><br />&lt;%<br />	 }<br />   }<br />%><br /><br />&lt;table border="0" cellpadding="0" cellspacing="0" width="100%" id="print" height="206"><br />  &lt;tr><br />    &lt;td width="33%" height="206" valign="top"><br />		&lt;input type="button" value="打印" onClick="doPrint('打印')"><br />		&lt;input type="button" value="直接打印" onClick="doPrint('直接打印')"> <br />		&lt;input type="button" value="打印预览..." onClick="doPrint('打印预览')"><br />		&lt;/td> &lt;/tr><br />&lt;/table><br />&lt;/body><br /><br /><br />套打主要工作（1、取数据，2、针对图片调整显示位置）页面中left 和 top参数对应数据显示的位置。<br />可参照http://joerong666.javaeye.com/blog/182809 使用手册
          <br/>
          <span style="color:red;">
            <a href="http://pacer123.javaeye.com/blog/203991#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 10:00:31 +0800</pubDate>
        <link>http://pacer123.javaeye.com/blog/203991</link>
        <guid>http://pacer123.javaeye.com/blog/203991</guid>
      </item>
      <item>
        <title>web打印（页面打印）</title>
        <author>pacer123</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pacer123.javaeye.com">pacer123</a>&nbsp;
          链接：<a href="http://pacer123.javaeye.com/blog/203984" style="color:red;">http://pacer123.javaeye.com/blog/203984</a>&nbsp;
          发表时间: 2008年06月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          要实现页面打印功能只需要给jsp页面加入如下代码：<br /><br />&lt;OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT> <br />&lt;/OBJECT> <br />&lt;br>  <br />&lt;input type=button name="print" value=打印 onclick="document.all.WebBrowser.ExecWB(6,1)" class="NOPRINT"> <br />&lt;input type=button name="print1" value=直接打印 onclick="document.all.WebBrowser.ExecWB(6,6)" class="NOPRINT"> <br />&lt;input type=button name="print2" value=页面设置 onclick="document.all.WebBrowser.ExecWB(8,1)" class="NOPRINT"> <br />&lt;input type=button name="print3" value=打印预览 onclick="document.all.WebBrowser.ExecWB(7,1)" class="NOPRINT"> <br /><br />该打印方式在预览或者打印的时候会显示之前的4个按钮。可以给jsp也面加入js控制。使在点击按钮时屏蔽显示按钮。<br /><br />    注意：当从系统某页面用href方式连接空白打印页的时候（有a.jsp去链接c.jsp页面）。可能会不能正常显示打印页面，通常显示的为框架页面。所以可以通过一个中间过度页面去弥补这种方式的不足。如：<br />a.jsp 页面连接&lt;tr><br />				&lt;a href="../lmss2_querymanage_bigstock/b.jsp?ID=05c00ca51a5bd6de011a5bdc31cc0002" target="_blank">&lt;div align="right">&lt;font color='red'>生成收料单&lt;/font>&lt;/div>&lt;/a><br />				<br />		&lt;/tr><br /><br />b.jsp 页面<br />&lt;%@ page language="java" contentType="text/html;charset=GBK" %><br />&lt;HTML><br />&lt;%<br />   String id = request.getParameter("ID");<br />%><br />&lt;jsp:include page="../testPrint/c.jsp?ID=&lt;%=id%>" /><br />&lt;/HTML><br /><br />c.jsp页面为真正显示的打印页面。
          <br/>
          <span style="color:red;">
            <a href="http://pacer123.javaeye.com/blog/203984#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 16 Jun 2008 09:51:56 +0800</pubDate>
        <link>http://pacer123.javaeye.com/blog/203984</link>
        <guid>http://pacer123.javaeye.com/blog/203984</guid>
      </item>
      <item>
        <title>几条有用sql </title>
        <author>pacer123</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pacer123.javaeye.com">pacer123</a>&nbsp;
          链接：<a href="http://pacer123.javaeye.com/blog/202407" style="color:red;">http://pacer123.javaeye.com/blog/202407</a>&nbsp;
          发表时间: 2008年06月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          查找数据库中所有字段  以对应的表<br />select C.column_name,C.TABLE_NAME from dba_tab_columns C where owner=''<br /><br />查每个科目class 分数scro前三名<br />select id, name, class, scro<br />   from (select row_number() over(partition by class order by scro desc)  cnt,<br />                id,<br />                name,<br />                class,<br />                scro<br />           from student) a<br />  where a.cnt &lt;= 3;<br /><br />查找排序后的前三行<br />  select *<br />  from (select rw.*, rownum<br />          from (select *<br />                  from student d<br />                 where d.class = 'b'<br />                 order by d.scro desc) rw<br />         where rw.id >= 1<br />         order by rw.class desc) n<br /> where rownum &lt;= 3
          <br/>
          <span style="color:red;">
            <a href="http://pacer123.javaeye.com/blog/202407#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 12 Jun 2008 10:39:09 +0800</pubDate>
        <link>http://pacer123.javaeye.com/blog/202407</link>
        <guid>http://pacer123.javaeye.com/blog/202407</guid>
      </item>
      <item>
        <title>JForum学习总结</title>
        <author>pacer123</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://pacer123.javaeye.com">pacer123</a>&nbsp;
          链接：<a href="http://pacer123.javaeye.com/blog/202404" style="color:red;">http://pacer123.javaeye.com/blog/202404</a>&nbsp;
          发表时间: 2008年06月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          学习JForum总结：<br />环境搭建：TOMCAT + MYSQL <br /><br />第一步：安装部署<br />	1、  去http://www.jforum.net/download.jsp网站下载jforum的发布包。<br />	2、  安装mysql数据库。为了解决论坛出现的中文乱码问题，可以通过手动修改配置文件或者在安装mysql时设置编码为utf8，<br />	可以避免页面中显示乱码。安装好mysql后，进入>mysql状态输入：CREATE   DATABASE   JForum  DEFAULT   CHARACTER   SET   utf8   COLLATE   utf8_general_ci;  <br />	3、  将jforum发布包拷贝到D:\apache-tomcat-6.0.16\webapps目录下即可。安装配置jforum可以通过两种方式实现，手动修改配置文件 或者通过页面提示信息安装步骤。为避免出错，我们选取自动安装的方式进行。<br />	启动TOMCAT服务后，通过浏览器访问http://localhost:8080/jforum/install.jsp依照提示信息配置好所需信息，一路next。安装完成之后访问http://localhost:8080/jforum将会出现论坛首页。<br /><br />第二步：分析JFORUM框架中配置文件<br />	1、  zh_CN.properties文件中配置页面中显示的中文常用汉字。cmd下可以通过native2ascii -reverse  zh_CN.properties  	a.properties命令对其反编码，开发者可以配置自己需要的页面中需要显示常量信息，编辑保存后再通过native2ascii  a.properties zh_CN.properties 在编码回ascii。<br />	2、  modulesMapping.properties文件中描述了模块名与实现该模块功能的java类的对应关系。<br />	3、  locales.properties文件在SystemGlobals.properties文件中被配置加载，locales.properties文件中配置各种国家支持的语言。locales.properties文件在ConfigAction.java中被读取。<br />	4、  webapps\jforum\WEB-INF\config\database\generic\generic_queries.sql  文件中配置数据库查询语句而该sql文件又在SystemGlobals.properties文件中被配置加载。SystemGlobals.properties文件中配置的变量信息在ConfigKeys.java类文件中配置对应的常量字符串。可以通过String q = SystemGlobals.getSql("XXX")方式去获得需要的配置好的sql语句。I18n.getMessage("XXX")方式可以在页面中或者类中获得zh_CN.properties配置文件中配置的中文常量<br />	5、  templatesMapping.properties配置文件配置相关的页面对应文件。templatesMapping.properties文件中配置的变量信息在TemplateKeys.java类文件中配置对应的常量字符串。<br />	6、  jforum-custom.conf配置文件为有关数据库信息的文件，可以通过手动去修改，该文件为通过自动方式安装配置jforum时产生。<br />	7、  urlPattern.properties配置文件为相关的action配置参数。<br /><br />第三步：开发常用的包说明<br />	1、  net.jforum.view.admin目录和net.jforum.view.forum目录下为存放的action文件，action文件中去调用dao接口对应的方法。<br />	2、  net.jforum.dao目录下文件为数据库操作接口类文件。<br />	3、  net.jforum.dao.generic目录下文件为与数据库交互的类文件，即接口的具体实现。<br />	4、  net.jforum.util.preferences目录下的文件为比较重要的几个常量配置类以及配置文件读取类。<br />	5、  net.jforum.entities目录下文件为论坛中各个对象实体。<br /><br />第四步：重要的类说明<br />        1、  ConfigLoader.java 类文件加载各个配置文件。<br />	2、  ConfigKeys.java类文件中配置SystemGlobals.properties文件中配置的变量信息<br />	3、  TemplateKeys.java类文件中配置templatesMapping.properties文件中对应的页面信息 action中调用时通过this.setTemplateName(XX)去实现跳转，通过this.context.put("message", message)方式实现向页面set对象信息供页面调用。<br />	4、  SystemGlobals.java类文件为一个读取相关配置文件获得相关配置信息的帮助类。<br />	5、  DataAccessDriver.java类文件为创建dao实体的一个抽象类，通过XXXDAO um = DataAccessDriver.getInstance().newXXXDAO()方式去实例化dao对象。<br />	6、  GenericDataAccessDriver.java类文件为DataAccessDriver抽象类文件的具体实现类，创建DAO对象的类与数据库进行交互。<br />	7、  JForumExecutionContext.getConnection().prepareStatement(String sql) 通过此种方式在DAO中去创建PreparedStatement对象。然后由该对象执行数据库操作获得结果。<br /><br />第五步：测试DEMO<br />        1、  通过修改配置文件modulesMapping.properties类添加一个模块。可以添加一个自己的测试DEMO模块，在该配置文件末尾添加如下代码myTest=net.jforum.test.MyTestAction 。作为该模块的处理类。<br />	2.   在templatesMapping.properties文件中添加:  myTest.addTest = myTest_add.htm  myTest.listTest = myTest_list.htm  此文件映射action和result 模板的关系，表明执行后跳转的页面对应关系。<br />	3. 在urlPattern.properties中添加:  myTest.add.0 =  myTest.list.0 =  此文件设置每个action参数.我们这action无参数。<br />	4.   修改net.jforum.util.preferences.TemplateKeys类,添加:  public static final String MYTEST_ADD = "myTest.add"; public static final String MYTEST_LIST = "myTest.list";  引号里面的对应的字符串常量要与templatesMapping.<br />	properties文件中定义对应页面的属性保持一致性。通过定义该信息，可以在action中去set其对应的跳转页面信息。<br />	5.   参照第二步第1条提示修改a.properties文件后，编辑保存后再通过native2ascii  a.properties zh_CN.properties 在编码回ascii文件格式。<br />	6、  编辑header.htm页面添加如下代码，添加“我的测试”超级连接<br />	     &lt;img src="${contextPath}/templates/${templateName}/images/icon_mini_members.gif" alt="[Members]" />&nbsp;<br />		&lt;a id="latest2" class="mainmenu" href="${JForumContext.encodeURL<br />		("/myTest/addList")}">${I18n.getMessage("myTest")}&lt;/a> &nbsp;<br />	7、  上面部分为测试demo跳转正常的测试，如果要与数据库进行交互，需要在另行参照如下步骤进行：<br />	     a)、数据库中增加一张测试表供测试使用。<br />	     b)、修改zh_CN.properties添加需要在页面显示的测试表字段中文信息。（步骤略）<br />	     c)、在net.jforum.dao目录下增加一测试类DAO接口文件TestDAO.java 以及net.jforum.dao.generic目录下的测试接口实现类GenericTestDAO.java  内部实现该测试对象的一系列与数据库交互的方法。<br />	     d)、在net.jforum.entities目录下增加测试试题对象的javabean文件。<br />	     e)、在WEB-INF\config\database\generic\generic_queries.sql文件中增加有关测试实体数据库交互的数据库脚本。<br />	     f)、完善MyTestAction.java 类文件中的list方法。内部实现与之对应的查询方法，并将结果对象返回到页面。
          <br/>
          <span style="color:red;">
            <a href="http://pacer123.javaeye.com/blog/202404#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></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 12 Jun 2008 10:35:26 +0800</pubDate>
        <link>http://pacer123.javaeye.com/blog/202404</link>
        <guid>http://pacer123.javaeye.com/blog/202404</guid>
      </item>
  </channel>
</rss>