??xml version="1.0" encoding="utf-8" standalone="yes"?>在线观看三级视频,国产高清中文字幕在线,精品欧美一区二区三区 http://www.aygfsteel.com/zhangyuan/archive/2011/05/27/351148.html张元Won张元WonFri, 27 May 2011 01:17:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2011/05/27/351148.htmlhttp://www.aygfsteel.com/zhangyuan/comments/351148.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2011/05/27/351148.html#Feedback0http://www.aygfsteel.com/zhangyuan/comments/commentRss/351148.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/351148.html虄原因?...搞的我蛋g一上午...
于是一直找帖纠l这个问?l于q是解决?在博客中留个记录以便以后忘记了翻R?br />
Dq个错误的原因有很多
可能是SID配置不对Q但l大多数是因为OracleE序本n问题。就是OracleOraDb10g_home1TNSListenerq个服务对应的D:\oracle\product\10.2.0\db_1\BIN\TNSLSNR执行E序没有执行或者执行中断造成的。那么我们只要设|一个全局SID服务变量Q以后就可以都以q个变量为准来查扑ֈ监听了?br />
解决Ҏ如下Q?br />
打开Q?Oracle_Hoem%/network/admin/listener.ora文g ?nbsp;
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (PROGRAM = extproc) 
后面dQ?nbsp;
(SID_DESC = 
  (GLOBAL_DBNAME = ORACLE) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (SID_NAME = ORACLE) 
  ) 
最后变成: 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
  (SID_NAME = PLSExtProc) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (PROGRAM = extproc) 
) (SID_DESC = 
  (GLOBAL_DBNAME = ORACLE) 
  (ORACLE_HOME = D:\Oracle\Oracle10g) 
  (SID_NAME = ORACLE) 
  ) 


张元Won 2011-05-27 09:17 发表评论
]]>
MyEclipse8.5优化http://www.aygfsteel.com/zhangyuan/archive/2010/11/17/338232.html张元Won张元WonWed, 17 Nov 2010 02:25:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/11/17/338232.htmlhttp://www.aygfsteel.com/zhangyuan/comments/338232.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/11/17/338232.html#Feedback5http://www.aygfsteel.com/zhangyuan/comments/commentRss/338232.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/338232.htmlW一? 取消自动validation   
  • validation有一堆,什么xml、jsp、jsf、js{等Q我们没有必要全部都去自动校验一下,只是需要的时候才会手工校验一下!   
  • 取消ҎQ?  
  • windows–>perferences–>myeclipse–>validation   
  • 除开Manual下面的复选框全部选中之外Q其他全部不?  
  • 手工验证ҎQ?  
  • 在要验证的文件上Q单击鼠标右?#8211;>myeclipse–>run validation   
  • W二步:取消Eclipse拼写?nbsp;  
  • 1、拼写检查会l我们带来不的ȝQ我们的Ҏ命名都会是单词的~写Q他也会提示有错Q所以最好去掉,没有多大的用?  
  • windows–>perferences–>general->editors->Text Editors->spelling
  • W三步:取消myeclipse的启动项   
  • myeclipse会有很多的启动项Q而其中很多我们都用不着Q或者只用一两个Q取消前面不用的可?  
  • windows–>perferences–>general–>startup and shutdown   启动功能如下,可以Ҏ自己的需要选择
  • Automatic Updates Scheduler //自动升调度      
  • MyEclipse QuickSetup //快速启?nbsp;     
  • MyEclipse Derby //derby是一个开源数据库的名?  
  • MyEclipse EASIE Geronimo 1 //同色都是应用服务器的名字      
  • MyEclipse EASIE Geronimo 2       
  • MyEclipse EASIE JBOSS 2       
  • MyEclipse EASIE JBOSS 3       
  • MyEclipse EASIE JBOSS 4       
  • MyEclipse EASIE JBOSS 5       
  • MyEclipse EASIE JBOSS       
  • MyEclipse EASIE Jetty 4       
  • MyEclipse EASIE Jetty 5       
  • MyEclipse EASIE Jetty 6       
  • MyEclipse EASIE Jetty       
  • MyEclipse EASIE JOnAS 3       
  • MyEclipse EASIE JOnAS 4       
  • MyEclipse EASIE JOnAS       
  • MyEclipse EASIE JRun 4       
  • MyEclipse EASIE JRun       
  • MyEclipse EASIE Oracle 10 AS       
  • MyEclipse EASIE Oracle 9 AS       
  • MyEclipse EASIE Oracle AS       
  • MyEclipse EASIE Orion 1       
  • MyEclipse EASIE Orion 2       
  • MyEclipse EASIE Resin 2       
  • MyEclipse EASIE Resin 3       
  • MyEclipse EASIE Resin       
  • MyEclipse EASIE Sun 8.x       
  • MyEclipse EASIE Sun 8       
  • MyEclipse EASIE Sun 9       
  • MyEclipse EASIE Glassfish 2       
  • MyEclipse EASIE Glassfish 1       
  • MyEclipse EASIE Sun One       
  • MyEclipse EASIE MyEclipse Tomcat 6 Server       
  • MyEclipse EASIE Tomcat 4       
  • MyEclipse EASIE Tomcat 5       
  • MyEclipse EASIE Tomcat 6       
  • MyEclipse EASIE Tomcat       
  • MyEclipse EASIE WebLogic 10       
  • MyEclipse EASIE WebLogic 6       
  • MyEclipse EASIE WebLogic 7       
  • MyEclipse EASIE WebLogic 8       
  • MyEclipse EASIE WebLogic 9       
  • MyEclipse EASIE WebLogic       
  • MyEclipse EASIE WebSphere 5       
  • MyEclipse EASIE WebSphere 6.1       
  • MyEclipse EASIE WebSphere 6       
  • MyEclipse EASIE WebSphere 4       
  • MyEclipse Examples //样例      
  • MyEclipse Memory Monitor //内存监控      
  • MyEclipse Tapestry Integration //插g集成      
  • MyEclipse JSP Debug Tooling //jsp调试插g      
  • MyEclipse File Creation Wizards //文g创徏E序      
  • ICEfaces Integration for MyEclipse //ZAjax的JSF开发框?)   
  • MyEclipse Backward Compatibility //后台功能      
  • MyEclipse Perspective Plug-in //透视图插?nbsp;     
  • Pluse Collaboration Control Center //Eclipse的网늮理中?  
  • eclipse-cs 4.x.x -> 5.0.0 Migration Plug-in  //Eclipse插g兼容lg   
  • Mozilla Debug UI Plug-in(Incubation) //Mozilla调试插gQMozilla是一ƾ浏览器)      
  • Dynamic Languages ToolKit Core UI //对入PHP{动态语a支持的用h?  
  • WTP Webservice UI Plug-in //Web 服务视图插g      
  • JavaServer Faces Tools - Core //jsf工具核心?nbsp;     
  • Automatic Updates Scheduler //自动更新   
  • Service policy  //Web提供的服务性能目标定义,自动理   
  • Atfdebug Plug-in(Incubation)  //动态语a的调试工?  
  • Auxiliary Web Module Support for MeEclipse// 辅助的Web模块支持.(可能是Struts{文件自动添?   
  • JSF Editor Preview Support for MyEclipse//jsf~辑?nbsp;
  • W四步:更改jsp默认打开的方?  
  • 安装了myeclipse后,~辑jsp面Q会打开他的~辑面Q同时也有预览页面,速度很慢Q不适合开发。所以更改之windows–>perferences–>general–>editors->file associations   选择*.jspQ把~译器改为默认启动MyEclipse JSP EditionQ?/span>在下斚w择一U编辑器Q然后点d边的default按钮   Q?/span>
  • W五? 更改内存使用文g   
  • 1、打开 eclipse.ini   
  •   
  • -startup
    ../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
    --launcher.library
    ../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
    -install
    D:/Myeclipse 8.5/Program
    -vm
    D:/Myeclipse 8.5/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll
    -configuration
    configuration
    -vmargs
    -Xmx512m
    -XX:MaxPermSize=1024m
    -XX:ReservedCodeCacheSize=128m
    把下面的那个 -XX:MaxPermSize 调大Q比?nbsp;-XX:MaxPermSize=1024MQ再?nbsp;-XX:PermSize 调成?nbsp;-XX:MaxPermSize一样大   
  • 原因Q大家一定对q个画面很熟悉吧Q?  
  • 几乎每次 eclipse 卡到当都是因个非堆内存不造成的,把最大跟最调成一h因ؓ不让 myeclipse 频繁的换内存区域大小   
  • 注意QXX:MaxPermSize ?nbsp;Xmx 的大之和不能超q你的电脑内存大?nbsp;  
  • l理比较奢侈Q就调到?024
  • W六? 取消Maven更新(启动更新)   
  • Window > Preferences > Myeclipse> Maven4Myeclipse > Maven>用Download repository index updates on startup

  • 改快捷键之类的经理就不介l了?/span>



    张元Won 2010-11-17 10:25 发表评论
    ]]>
    JAVA拦截器原理及Struts2扩展http://www.aygfsteel.com/zhangyuan/archive/2010/09/06/331229.html张元Won张元WonMon, 06 Sep 2010 09:21:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/09/06/331229.htmlhttp://www.aygfsteel.com/zhangyuan/comments/331229.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/09/06/331229.html#Feedback3http://www.aygfsteel.com/zhangyuan/comments/commentRss/331229.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/331229.html最q发现很多朋友连拦截器都不知道,于是惛_个BLOGȝ一下?br /> java拦截器的基本原理其实非常单,说白了就是动态代理类?br /> 下面来看一个简单的例子
    首先Q我建立一个拦截器的类InterceptorClassQ这里的before()和after()Ҏ是以后拦截器会执行的Ҏ
    CODE清单一Q?br />

    public class InterceptorClass {
     
    public void before()
      System.out.println(
    "拦截器InterceptorClassҎ调用:before()!"); 
     }
     
     
    public void after()
         System.out.println(
    "拦截器InterceptorClassҎ调用:after()!"); 
     }

    }

     

    我们模拟一个业务组件接口BusinessInterfaceQ和一个业务组件实现类BusinessClass
    CODE清单二:

    public interface BusinessInterface {
     
    public void doSomething();
    }

     

    CODE清单三:

    public class BusinessClass implements BusinessInterface {
     
    public void doSomething() {
       System.out.println(
    "业务lgBusinessClassҎ调用:doSomething()"); 
     }

    }

     

    然后Q创Z个动态代理类DynamicProxyHandlerQ这个类是集成InvocationHandler接口的,动态类的原理实际上是得当你执行一个动态方

    法的时候,他可以把q个动态方法dispatch到这个动态类上来。这P你就可以在这个方法的前后嵌入自己的一些方法?br /> CODE清单四:
    //包含了业务对象绑定动态代理类的处理,q实CInvocationHandler接口的invokeҎ

    public class DynamicProxyHandler implements InvocationHandler {
     
    private Object business;//被代理对?/span>
     private InterceptorClass inceptor = new InterceptorClass();//拦截?br />  
     
    // 动态生成一个代理类对象,q绑定被代理cd代理处理?/span>
     public Object bind(Object business) {
       
    this.business = business;
       
    return Proxy.newProxyInstance(
         
    //被代理类的ClassLoader
         business.getClass().getClassLoader(),
         
    //要被代理的接?本方法返回对象会自动声称实现了这些接?/span>
         business.getClass().getInterfaces(), 
         
    //代理处理器对?/span>
         this);
     }


     
     // 代理要调用的Ҏ,q在Ҏ调用前后调用q接器的Ҏ

     /**
      * 
    @param proxy  代理cd?br />   * @param method 被代理的接口Ҏ
      * 
    @param args   被代理接口方法的参数
      * 
    @throws Throwable
      
    */

     
    public Object invoke(Object proxy, Method method, Object[] args)
       
    throws Throwable {
      Object result 
    = null;
      inceptor.before();
      result
    =method.invoke(business,args);
      inceptor.after();
      
    return result;
     }


    OKQ我们来写个cL试一?br /> CODE清单五:

    public static void main(String[] args) {
      
    //生成动态代理类实例
      DynamicProxyHandler handler = new DynamicProxyHandler();
      
    //生成待测试的业务lg对象
            BusinessInterface business = new BusinessClass();
            
    //业务组件对象和动态代理类实例l定
            BusinessInterface businessProxy = (BusinessInterface) handler.bind(business);
            
    //用动态代理类调用Ҏ
            businessProxy.doSomething();
     }


    来看看结果:


    q期struts2很流行,而且拦截器是struts2里面一个比较好的功能,下面举个例子说明一下拦截器在struts2中的用法?br /> struts2Ҏ截器实现做了一个封装,使得我们在实现的时候比较简单?br /> 首先我们要徏一个拦截器c?br /> CODE清单六:

    public class AuthorizationInterceptor extends AbstractInterceptor {
     @Override
     
    public String intercept(ActionInvocation invocation) throws Exception {
      Map session 
    = invocation.getInvocationContext().getSession();
      String userName 
    = (String) session.get("userName");
      
    if ( userName != null && userName.equals("test")) {
       System.out.println(
    "拦截器:合法用户d---");
       
    return invocation.invoke();
      }

      
    else
      
    {
       System.out.println(
    "拦截器:用户未登?--");
       
    return Action.LOGIN;
      }

     }

    }


    q个cL必须要承struts2包中提供的AbstractInterceptorc,q个cL一个抽象方法interceptQ这个方法是必须要实现的?br /> 那么l理在这个拦截器里面写了一个简单的实现Q对url用户合法性做了一个限制?/p>

    接下来比较关键的是过滤器在struts2中的配置Q先看看代码
    CODE清单七:

    <package name="system" extends="struts-default">
      
    <interceptors>
       
    <!--  定义权限控制拦截?nbsp; -->
       
    <interceptor name="authority" 

    class
    ="com.sharesin.biz.common.intercepts.struts2.AuthorizationInterceptor"/>
       
    <!-- 定义一个包含权限控制的拦截器栈   -->
       
    <interceptor-stack name="mystack">
        
    <interceptor-ref name="defaultStack"></interceptor-ref>
        
    <interceptor-ref name="authority"></interceptor-ref>
       
    </interceptor-stack>
      
    </interceptors>
       
    <!--定义默认拦截?nbsp;  -->
            
    <default-interceptor-ref name="mystack" />
       
    <!--定义全局处理l果   -->
      
    <global-results>
       
    <result name="login">index.jsp</result>
      
    </global-results>
      
    <action name="login_*" class="com.sharesin.biz.web.system.LoginAction" method="{1}">
       
    <result name="success">system/homepage.jsp</result>
      
    </action>
     
    </package>


    在interceptors节点里,我们可以定义多个拦截器,q里的名为authority的只是其中的一个。struts2的拦截器栈我是先执行struts2默认的拦

    截器defaultStackQ然后再执行我的。然后只需要用default-interceptor-ref标签讄好这个system包中的默认拦截器个拦截器OK了?/p>

    struts2中引入了packageq个概念Q我觉得十分实用Q当然这对struts2拦截器也是个实惠Q我们可以根据不同的action来分包和不同的拦截器


    okQ来q行试一下?/p>


    l果..


     

     

     

     

     



    张元Won 2010-09-06 17:21 发表评论
    ]]>
    FLEX中的一些小技巧↑http://www.aygfsteel.com/zhangyuan/archive/2010/09/03/330847.html张元Won张元WonFri, 03 Sep 2010 03:39:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/09/03/330847.htmlhttp://www.aygfsteel.com/zhangyuan/comments/330847.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/09/03/330847.html#Feedback1http://www.aygfsteel.com/zhangyuan/comments/commentRss/330847.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/330847.html阅读全文

    张元Won 2010-09-03 11:39 发表评论
    ]]>
    FLEX中一些比较重要的标签和属?/title><link>http://www.aygfsteel.com/zhangyuan/archive/2010/08/27/330064.html</link><dc:creator>张元Won</dc:creator><author>张元Won</author><pubDate>Fri, 27 Aug 2010 07:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangyuan/archive/2010/08/27/330064.html</guid><wfw:comment>http://www.aygfsteel.com/zhangyuan/comments/330064.html</wfw:comment><comments>http://www.aygfsteel.com/zhangyuan/archive/2010/08/27/330064.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangyuan/comments/commentRss/330064.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangyuan/services/trackbacks/330064.html</trackback:ping><description><![CDATA[<p>在用flexq程中经怼对调样式感到头痛Q经理在q里准备把常用的一些东东ȝ一下,以便以后查阅?br /> 以后慢慢ȝ?br /> 一、公?br /> 1.includeInLayoutQ它的作用是当用visible隐藏对象的时候,该对象不会占位?br /> 2.字体QfontsizeQ全局字体大小Q推荐设|?2。font-familyQ?ARIAL"。这些在CSS中设定好</p> <p>二、Panel<br /> 1.headerHeightQPanel头的宽度Q这里一般设|成15比较舒服?br /> 2.borderThicknessBottomQPanel控g下边框的_细,一般设|成2比较舒服?br /> 3.borderThicknessLeftQPanel左边框的_细,一般设|成2比较舒服?br /> 4.borderThicknessRightQPanel双框的_细,一般设|成2比较舒服?br /> 5.backgroundImageQ如果觉得Panel的白色北京太丑,那就用这个换一个渐变背景吧?br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/flex/FLEX中一些重要的标签和属?pic2010082721.jpg" width="455" height="201" /></p> <p>三、DataGrid&AdvancedDataGrid<br /> 1.headerColorsQ用于绘制标题背景渐变的两种颜色的数l。推荐[#60beff,#1273ce]Q蓝色渐?br /> 2.alternatingItemColorsQ交替模式中行的颜色。此值可以是由多U颜色中L两种所l成的数l。推荐[#FFFDCE, #C8ECFF]Q浅蓝和黄色?br /> 3.headerWordWrapQ则指定标题文本不适合一行时换行。(q是在AdvancedDataGridColumnGroup中设|的Q?br /> 4.一个标志,指示当此列中各行的文本不能在一行中昄Ӟ是否能够自动换行Q这是在DataGridColumn中设|的Q?br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/flex/FLEX中一些重要的标签和属?pic2010082722.jpg" width="455" height="201" /> <p>四、Chart<br /> 1.showDataTipsQ指定Flex是否昄图表的提C窗口控件?br /> 2.verticalAxis-CategoryAxis-TitleQ单位可以加在坐标u上?br /> 3.GradientEntryQ设|图表的渐变艌Ӏ详见第..<br /> <a href="http://www.aygfsteel.com/zhangyuan/archive/2010/09/03/330847.html">http://www.aygfsteel.com/zhangyuan/archive/2010/09/03/330847.html</a><br /> 如下CODE</p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><span style="color: #000000"><</span><span style="color: #000000">mx:BarSeries xField</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">costs</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                        </span><span style="color: #000000"><</span><span style="color: #000000">mx:fill</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                            </span><span style="color: #000000"><</span><span style="color: #000000">mx:LinearGradient</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                                </span><span style="color: #000000"><</span><span style="color: #000000">mx:GradientEntry color</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#A6A602</span><span style="color: #000000">"</span><span style="color: #000000"> ratio</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">0</span><span style="color: #000000">"</span><span style="color: #000000">  </span><span style="color: #000000">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                                </span><span style="color: #000000"><</span><span style="color: #000000">mx:GradientEntry color</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#DFDF97</span><span style="color: #000000">"</span><span style="color: #000000"> ratio</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">.2</span><span style="color: #000000">"</span><span style="color: #000000">  </span><span style="color: #000000">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                                </span><span style="color: #000000"><</span><span style="color: #000000">mx:GradientEntry color</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#A6A602</span><span style="color: #000000">"</span><span style="color: #000000"> ratio</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">.4</span><span style="color: #000000">"</span><span style="color: #000000">  </span><span style="color: #000000">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                                </span><span style="color: #000000"><</span><span style="color: #000000">mx:GradientEntry color</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#F5F655</span><span style="color: #000000">"</span><span style="color: #000000"> ratio</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">.8</span><span style="color: #000000">"</span><span style="color: #000000">  </span><span style="color: #000000">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                                </span><span style="color: #000000"><</span><span style="color: #000000">mx:GradientEntry color</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">#A6A602</span><span style="color: #000000">"</span><span style="color: #000000"> ratio</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">1</span><span style="color: #000000">"</span><span style="color: #000000">  </span><span style="color: #000000">/></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                            </span><span style="color: #000000"></</span><span style="color: #000000">mx:LinearGradient</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                        </span><span style="color: #000000"></</span><span style="color: #000000">mx:fill</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" />                    </span><span style="color: #000000"></</span><span style="color: #000000">mx:BarSeries</span><span style="color: #000000">></span></div> <p><br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/flex/FLEX中一些重要的标签和属?pic2010082723.jpg" width="455" height="201" /> </p> <br /> <br /> <br /> <img src ="http://www.aygfsteel.com/zhangyuan/aggbug/330064.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangyuan/" target="_blank">张元Won</a> 2010-08-27 15:44 <a href="http://www.aygfsteel.com/zhangyuan/archive/2010/08/27/330064.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cognos列表与图形联动效?/title><link>http://www.aygfsteel.com/zhangyuan/archive/2010/08/20/329492.html</link><dc:creator>张元Won</dc:creator><author>张元Won</author><pubDate>Fri, 20 Aug 2010 09:37:00 GMT</pubDate><guid>http://www.aygfsteel.com/zhangyuan/archive/2010/08/20/329492.html</guid><wfw:comment>http://www.aygfsteel.com/zhangyuan/comments/329492.html</wfw:comment><comments>http://www.aygfsteel.com/zhangyuan/archive/2010/08/20/329492.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zhangyuan/comments/commentRss/329492.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zhangyuan/services/trackbacks/329492.html</trackback:ping><description><![CDATA[<p> cognos中有列表和图形,但是表和图之间L孤立的,h面也都是全面hQ于是经理在惻I是否有个Ҏ能在点击cognos?/p> <p>表时旁边的cognos图表能够实时的变动,cMflex中的l定效果。在老板的强烈催促下Q经理也没什么时间去|上L去问Q觉得凭自己以前</p> <p>的一些J2EE老底子加上report studio中强大的HTML目貌似可以搞定,于是开搞了...<br />  首先l大家看看数据库<br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/cognos/cognos2/pic2010082021.jpg" width="508" height="109" /><br /> <span style="color: #0000ff"><strong>一、先用report studio建立一个带参数的cognos饼图报表(q里可以随便是什么图)Q报表灰常简?br /> </strong></span><img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/cognos/cognos2/pic2010082022.jpg" width="837" height="467" /><br /> 讄参数名ؓpar3Qƈ把此报表保存为a1<br /> <strong style="color: #0000ff">二、再用report studio建立一个列?/strong>Q如?br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/cognos/cognos2/pic2010082023.jpg" width="846" height="211" /><br /> l理在这里多用了html目Q因为cognos在页面上装的太好了Q只能这h凑脚本?br /> 基本的原理就是在列表旁边攄一个html目Q其内容是一个iframeQ其q接也就是刚刚做好的那个带参数的饼图报表?br /> 然后在列表中攄一个labelQ在label中设|点M件出来iframe链接Q其实这样就换了一个参敎ͼ及重新蝲入?/p> <p>其中<br /> 1的代码如下,他主要是点击的列表触发的事g<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000"><</span><span style="color: #000000">script type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080">2</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />    </span><span style="color: #0000ff">function</span><span style="color: #000000"> changeframe(par)<br /> </span><span style="color: #008080">3</span><span style="color: #000000"><img id="Codehighlighter1_60_275_Open_Image" onclick="this.style.display='none'; Codehighlighter1_60_275_Open_Text.style.display='none'; Codehighlighter1_60_275_Closed_Image.style.display='inline'; Codehighlighter1_60_275_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_60_275_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_60_275_Closed_Text.style.display='none'; Codehighlighter1_60_275_Open_Image.style.display='inline'; Codehighlighter1_60_275_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />    </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_60_275_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_60_275_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">4</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />        sname</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">http://localhost/cognos8/cgi-bin/cognos.cgi?b_action=cognosViewer&ui.object=/content/package[@name='aa']/report[@name='a1']&ui.action=run&run.prompt=false&p_par3=</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">par;<br /> </span><span style="color: #008080">5</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />        frameChart.location.href</span><span style="color: #000000">=</span><span style="color: #000000">sname;<br /> </span><span style="color: #008080">6</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />    }</span></span><span style="color: #000000"><br /> </span><span style="color: #008080">7</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"></</span><span style="color: #000000">script</span><span style="color: #000000">></span></div> <p> </p> <p>2?主要是定义一个含有点M件的label<br /> 2的代码ؓ<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000"><</span><span style="color: #000000">u</span><span style="color: #000000">><</span><span style="color: #000000">label onclick</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">changeframe('</span></div> <p><br /> 3其实是一个报表表辑ּQ它是参?br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">[query1].[arr2]</span></div> <p><br /> 4的代码ؓ<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">');</span><span style="color: #000000">"</span><span style="color: #000000">  style=</span><span style="color: #000000">"</span><span style="color: #000000">width:</span><span style="color: #000000">100</span><span style="color: #000000">%</span><span style="color: #000000">;height:</span><span style="color: #000000">100</span><span style="color: #000000">%</span><span style="color: #000000">"</span><span style="color: #000000"> ></span></div> <p><br /> 5也是一个报表表辑ּQ他是设|该列显C的内容<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">[arr2]</span></div> <p><br /> 6的代码ؓQ他收个?/p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080">1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000"></</span><span style="color: #000000">label </span><span style="color: #000000">></</span><span style="color: #000000">u</span><span style="color: #000000">></span></div> <p><br /> </p> <p>7的代码主要是iframeQ然后就是刷新等待时候的一个等待提C?br /> 7的代码ؓ<br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><span style="color: #008080"> 1</span><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000"><</span><span style="color: #000000">iframe frameborder</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">0</span><span style="color: #000000">"</span><span style="color: #000000"> id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">frameChart</span><span style="color: #000000">"</span><span style="color: #000000"> src</span><span style="color: #000000">=</span><span style="color: #000000">""</span><span style="color: #000000"> scrolling</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">no</span><span style="color: #000000">"</span><span style="color: #000000"> height</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">450</span><span style="color: #000000">"</span><span style="color: #000000"> width</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">100%</span><span style="color: #000000">"</span><span style="color: #000000">></</span><span style="color: #000000">iframe</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><</span><span style="color: #000000">div id</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">loading</span><span style="color: #000000">"</span><span style="color: #000000"> style</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">display:block; padding:100px 0 100px 0;text-align:center;color:#999999;font-size:12px;</span><span style="color: #000000">"</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />      面加蝲?img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /><br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />    </span><span style="color: #000000"></</span><span style="color: #000000">div</span><span style="color: #000000">></span><span style="color: #000000"><br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><</span><span style="color: #000000">script type</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">text/javascript</span><span style="color: #000000">"</span><span style="color: #000000">></span><span style="color: #000000">     <br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #0000ff">var</span><span style="color: #000000">  a  </span><span style="color: #000000">=</span><span style="color: #000000"> document.getElementById(</span><span style="color: #000000">"</span><span style="color: #000000">frameChart</span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     </span><span style="color: #0000ff">var</span><span style="color: #000000"> b  </span><span style="color: #000000">=</span><span style="color: #000000"> document.getElementById(</span><span style="color: #000000">"</span><span style="color: #000000">loading</span><span style="color: #000000">"</span><span style="color: #000000">);   <br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     a.style.display </span><span style="color: #000000">=</span><span style="color: #000000">  </span><span style="color: #000000">"</span><span style="color: #000000">none</span><span style="color: #000000">"</span><span style="color: #000000">;                     <br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     b.style.display </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">block</span><span style="color: #000000">"</span><span style="color: #000000">;                     <br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />     <br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img id="Codehighlighter1_528_859_Open_Image" onclick="this.style.display='none'; Codehighlighter1_528_859_Open_Text.style.display='none'; Codehighlighter1_528_859_Closed_Image.style.display='inline'; Codehighlighter1_528_859_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_528_859_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_528_859_Closed_Text.style.display='none'; Codehighlighter1_528_859_Open_Image.style.display='inline'; Codehighlighter1_528_859_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000">  (window.ActiveXObject)   </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_528_859_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_528_859_Open_Text"><span style="color: #000000">{   <br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /><br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />     a.onreadystatechange </span><span style="color: #000000">=</span><span style="color: #000000">  </span><span style="color: #0000ff">function</span><span style="color: #000000">()     <br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_585_851_Open_Image" onclick="this.style.display='none'; Codehighlighter1_585_851_Open_Text.style.display='none'; Codehighlighter1_585_851_Closed_Image.style.display='inline'; Codehighlighter1_585_851_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_585_851_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_585_851_Closed_Text.style.display='none'; Codehighlighter1_585_851_Open_Image.style.display='inline'; Codehighlighter1_585_851_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" alt="" />     </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_585_851_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_585_851_Open_Text"><span style="color: #000000">{   <br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #0000ff">this</span><span style="color: #000000">.readyState</span><span style="color: #000000">==</span><span style="color: #000000">"</span><span style="color: #000000">complete</span><span style="color: #000000">"</span><span style="color: #000000">)   <br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_643_841_Open_Image" onclick="this.style.display='none'; Codehighlighter1_643_841_Open_Text.style.display='none'; Codehighlighter1_643_841_Closed_Image.style.display='inline'; Codehighlighter1_643_841_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_643_841_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_643_841_Closed_Text.style.display='none'; Codehighlighter1_643_841_Open_Image.style.display='inline'; Codehighlighter1_643_841_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" alt="" />         </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_643_841_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_643_841_Open_Text"><span style="color: #000000">{                                                                   <br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />             b.innerHTML  </span><span style="color: #000000">=</span><span style="color: #000000">   </span><span style="color: #000000">""</span><span style="color: #000000">;   <br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />              b.style.display </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">none</span><span style="color: #000000">"</span><span style="color: #000000">;   <br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />             a.style.display  </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">""</span><span style="color: #000000">;   <br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />          }</span></span><span style="color: #000000">   <br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />     }</span></span><span style="color: #000000"> <br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_864_963_Open_Image" onclick="this.style.display='none'; Codehighlighter1_864_963_Open_Text.style.display='none'; Codehighlighter1_864_963_Closed_Image.style.display='inline'; Codehighlighter1_864_963_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" alt="" /><img style="display: none" id="Codehighlighter1_864_963_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_864_963_Closed_Text.style.display='none'; Codehighlighter1_864_963_Open_Image.style.display='inline'; Codehighlighter1_864_963_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" alt="" />     }</span></span><span style="color: #0000ff">else</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_864_963_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_864_963_Open_Text"><span style="color: #000000">{ <br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" />     a.style.display </span><span style="color: #000000">=</span><span style="color: #000000">  </span><span style="color: #000000">"</span><span style="color: #000000">block</span><span style="color: #000000">"</span><span style="color: #000000">;                     </span><span style="color: #008000">//</span><span style="color: #008000">隐藏 </span><span style="color: #008000"><br /> </span><span style="color: #008080">25</span><span style="color: #008000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000">     b.style.display </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">none</span><span style="color: #000000">"</span><span style="color: #000000">; <br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />     }</span></span><span style="color: #000000"><br /> </span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />  </span><span style="color: #000000"></</span><span style="color: #000000">script</span><span style="color: #000000">></span></div> <p><br /> 拼滴我篏M.....</p> <p>OKQ我们来看看效果<br /> 我先点击一下第一个单元格<br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/cognos/cognos2/pic2010082024.jpg" width="801" height="383" /><br /> 再点ȝ二个<br /> <img border="0" alt="" src="http://www.aygfsteel.com/images/blogjava_net/zhangyuan/cognos/cognos2/pic2010082025.jpg" width="803" height="393" /></p> <p>注意Q列表不会刷新哦Q有点像ajax的效果?br /> <br /> <br /> 后来xQ其实功能挺单的?br /> 例子比较陋,只是想传达一个思想Q希望以后大家有好东西能一起交?br /> </p> <img src ="http://www.aygfsteel.com/zhangyuan/aggbug/329492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zhangyuan/" target="_blank">张元Won</a> 2010-08-20 17:37 <a href="http://www.aygfsteel.com/zhangyuan/archive/2010/08/20/329492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cognos SDK 研究学习手册Q二Q之[javadreport报表q回XML]http://www.aygfsteel.com/zhangyuan/archive/2010/08/05/cognos-sdk-xml-string.html张元Won张元WonThu, 05 Aug 2010 13:41:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/08/05/cognos-sdk-xml-string.htmlhttp://www.aygfsteel.com/zhangyuan/comments/327841.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/08/05/cognos-sdk-xml-string.html#Feedback16http://www.aygfsteel.com/zhangyuan/comments/commentRss/327841.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/327841.html    对COGNOS有一定了解以后,l理逐渐发现COGNOS的强大之处,特别的立方体模型使数据仓库更有条理而且讉K速度更快。但是也了解CCOGNOS的劣势,应该说是IBM整体的劣势,也就是界面太丑。虽然COGNOS也包含了几乎所有的图表Q样式也可以调整。但是对COGNOS的界面调整太复杂Q几乎看的比较好的COGNOS昄界面都要有HTML对象来调Q更或者无Z怎么调也是基于HTMLQ在色彩和动L面不会有很大的空间了?br />     于是l理在想Q是不是可以把只用COGNOSҎ据的抓取优势而在昄层用别的方式呈现?比如flex或者别?Q如果COGNOS能开发更多的前端昄接口固然好,但这是不可能的,当然Q经理知道这样做会损׃部分性能Q但是对现在大多对界面都很挑剔的客户Q这肯定是一条比较好的\?br />     OKQ那么现在经理把做的一个java调用cognos端直接返回XML字节的例子和大家分享下?br /> 一、环?/strong>
        g环境Q主?.0Hz+内存3gb+pȝ32?br />     软g环境Qcognos 8.41+Myeclipse8.5ga+sqlserver2000sp4

    二、IBM Cognos Connection部分
        首先Q我用framework做了了一个灰常简单的?所谓非常简单就是里面完全没有维度和亮度Q直接隐的数据库表?Qƈ把他发布到公共文件夹Q名为test_sdk_paser

    然后在这个包下用report studio做了一个灰常简单的报表,名ؓtest

    q个报表是我们之后要在java中获取其数据的报表?br /> 三、COGNOS SDK调用E序
        0.准备步骤.
    我们先要把sdk所需要的包考到目中来。必要包的位|在D:\cognos\c8\sdk\java\lib\下,先给大家看看我的目录l构

        1.我徏立了一个config.properties文g用来存放congos服务器的ip和端?/strong>

        在java中对应写一个从properties中获取数据的Ҏ

        2.弄清楚报表的xpath
        q个xpath我们可以在报表的 讄属?->常规 扑ֈ

        xpath是十分重要的Q其实报表ID也十分重要,q个l理以后会跟大家写?br />     3.q接cognos服务?/span>
    l理q里用ReportService_ServiceLocator对象的getreportServiceҎ来获得一个ReportService_Port对象?br /> getreportService需要一个参敎ͼ是cognos服务器地址Qhttp://localhost/p2pd/servlet/dispatch
    ReportService_Port是报表操作对象,我们是用这个对象的runҎ来运行cognos端报表?br />

        4.讄cognos认证信息
    l理q里的cognos讄了NTML认证Q那么是需要在sdk代码中设|认证信息的?br />
    用CAM方式q行登陆


        5.讄report的参?/strong>
    本例中用HashMap来传递report的参敎ͼ用@环的方式把外界的参数从HashMap中取出来Q设|到ParameterValue的value中去?br />
        6.cognosq行报表讄
    每项代表什么经理已l把注释写的很清楚了?br />

    q里其提醒大家注意的一ҎQRunOptionEnum.promptq个参数一定要讄Q设|这个参数是当cognosq行有参数的report时候,不弹出html提示H口。经理之前就是没有设|这个参敎ͼ所以在试带参数报表的时候搞了一天都没搞出来?br /> 那么q个option到底q有多少参数?l理l大家看啊看你cognos sdk的官方API

    大家看到了吧Q官方的API只是把枚丑ր做了一个罗列,具体他们是做什么的Q有什么作用?什么都没说。经理当然也看了sdk的源码,希望能在源码中找CҎ释,l果是:sdk的java文g没有一行注释代码?br /> l理在这里不想骂人,现在l于知道Z么cognos sdkq个领域q么׃?br />     7.q行cognos报表q返回xml数据
    l理在这里统计了一下用sdkq回数据的时间?br /> 之前讲过用ReportService_Port的runҎ可以让reportq行Q然后返回一个叫AsynchReply的对象,q个对象中有details[]属性,q个里面基本上包含了reportq回的所有信息。而他的status属性则标识了此ơ请求是否成功?br />


    OK,现在代码都解释完了,现在来测试下?br />
    l理在这里写了一个简单的试例子Q用之前讲到的test_sdk_paser包中的testq行试


    下面再测试一个带参数的报?/p>

    把之前的那个报表加一个参?br />
    然后在这里输入一?

    得到q样的数?br />

    E微改动下代码,然后run一?br />
    然后得到l果是这L

    正好和刚刚的l果一样~~


    sdk取数据关键的也就是上面说?个步骤。最后依然要BS一下cognos的开发者,居然在源码中一行注释都没有Q帮助文档也不全面?br /> 所以还是集l大家的力量一LI一起分享研I后的成果?br /> Ƣ迎大家一h博客上讨论?/p>

    谢谢~

     

     

     

     

     

     

     

     

     

     


     



    张元Won 2010-08-05 21:41 发表评论
    ]]>
    Myeclipse 8.5 配置SVNhttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327272.html张元Won张元WonWed, 28 Jul 2010 15:27:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327272.htmlhttp://www.aygfsteel.com/zhangyuan/comments/327272.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327272.html#Feedback13http://www.aygfsteel.com/zhangyuan/comments/commentRss/327272.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/327272.html    很早以前用过VSS的h都知道,相比之下SVN的确是个好东东。他以副本式的版本管理模式很好的解决了VSS单数据源下的{օ{և混ؕ问题。但是最q发现很多h都不会装SVNQ经理在q里写个博客跟大家分享一下?br /> 环境Q?br /> Win7pȝ
    Myeclipse 8.5GA
    JDK1.6
    一、准备工?/strong>
    首先Q当然是下蝲软g安装包。(l理q里以svn1.6ZQ这里需?个安装程序和1个解压包?br />

    Setup-Subversion-1.6.6.msiq个是SVN服务器?br /> Q你可以在这?http://subversion.tigris.org 下蝲到最新版本)

    TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi是SVN 版本控制pȝ的一个免费开源客L?
    Q可以在q里下蝲   http://tortoisesvn.net/downloads Q?br />
    site-1.6.12.zip是Myeclipse的插件包?br /> Q可以在q里下蝲 subclipse.tigris.orgQ?br />
    二、安装svn服务?/strong>
        首先安装svn服务器(也就是Setup-Subversion-1.6.6.msiq个Q,按照常规安装OK了。然后把tortoise也安装v来(也就是TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msiq个Q?br /> 在安装tortoise的时候会提示重启Q这里最好重启下?br />
    q是l理的安装目?br /> Setup-Subversion-1.6.6.msi --> Subversion目录
    TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi --> TortoiseSVN目录
    svnroot目录是什么呢?接着往下看

    三、徏立SVN资源?Repository)
    svnroot是经理徏立的svn资源库根目录Q然后在q个目录里徏立了一个名为repos的目录?q个目录是经理打做svn资源库的目录)

    然后在这个目录点右键->TortoiseSVN->Create repository here



    当看到被建立的repos目录中多了很多文件夹后证明资源库创徏成功?br /> 在网上也看到有用cmd命o来创建的Q如svnadmin create D:\svn\repository

    四、配|用户和权限
     打开刚刚建立的资源库文g?repos)Q里面有一个名为conf的文件夹Q这个文件夹里都是svn的配|信息。首先打开svnserve.conf文g
    q里行前凡是?的都{于是被注释忽略? 你可以把#L让那一行生? 或者自己新d行。经理对q个文g主要修改3?br /> ? #anon-access = read"改ؓ"anon-access = none"
    (他表C没有经q验证的用户无Q何权限,之前的意思是没经q验证的用户可以q行L作。经理强烈徏议该成noneQ不然别人没有验证的人都可以看到目文g)
    ? #auth-access = write"L#?auth-access = write"
    (通过验证的用h写操作,写操作是包含L作的)
    ? #password-db = passwd"L#?password-db = passwd"
    (密码数据存放到passwd文g?

    打开passwd文g
    讄一个用户名?manager=jingli
    q有一个文件authz
    q个文g主要是用来针对不同的目录l用户分配不同的权限的?br /> 如:
    [groups]
    team1 = manager,staff
    表示划定一个小l,l员有manager和staff用户

    [repository:/baz/fuz]
    @team1= rw
     * = r
    表示team1q个l对资源有读写权限,资源Ҏ有h有读权限

    [/foo/bar]
    manager = rw
    * =r
    也可以像q样对个|权限,manager有读写权限,该资源对所有h有读权限
    q些可以Ҏ个h需要修?br />
    五、运行svn服务?/strong>
    在安装的Subversion目录下有个bin目录里svnserve.exeQ我们直接运行这个文件是无效的。需要在控制台来启动他。直接在cmd命o中输入svnserve -d -r D:\SVN\svnrootq样服务启动了(注意Q这里指定的是svnroot文g卌源根目录Q而不是资源目录repos)。当然你关闭dosH口的时候svn服务也就关闭了。svn的所有操作都需要在q个服务器启动的基础上进行。但是一直开着q个dos命oH口很不爽,所以经理在q里写个E序让他开动启动?br /> 首先我们需要ؓsvnserve创徏一个系l服务?br /> 以经理本机的安装目录ZQ在cmd命o行输?/p>
    sc create SVNServer binpath= "D:\SVN\Subversion\bin\svnserve.exe --service -r D:\SVN\svnroot" 
    displayname
    = "SVNServer" depend= Tcpip start= auto   
    pause

    binpath指svnserve.exe的\?br /> (注意Q如果你的\径里有空D得要在binpath的头转义字符/"把整个个binpath框v来,D:\SVN\svnroot指svn资源库根目录)
    displayname指服务名U?br /> depend指协议是tcpid
    start指开动启?br /> 注意Q以上的=后面的一个空格千万不要丢?br />
    然后我们打开服务可以看到我们的服务已l是自动启动?br />

    六、安装subeclipse插g
    打开之前下蝲的site-1.6.12.zip文g可以看到里面有features、plugins两个文g?br /> 用之前我讲过的Myeclipse安装插g的方法安装就可以?br /> 参考:
    (http://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327371.html)


    在这里要注意一?br /> 安装插g时要Lfeatures中的org.tigris.subversion.subclipse.mylyn_3.0.0.jar文g
    Lplugins中的org.tigris.subversion.subclipse.core_1.6.8.jar和org.tigris.subversion.subclipse.mylyn_3.0.0.jar
    l理用Myeclipse8.5配这一套svn如果不删q些文g的话Q启动Myeclipse时会报错


    q样SVN搭建好?.





    张元Won 2010-07-28 23:27 发表评论
    ]]>
    Myeclipse配置插ghttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327371.html张元Won张元WonWed, 28 Jul 2010 15:25:00 GMThttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327371.htmlhttp://www.aygfsteel.com/zhangyuan/comments/327371.htmlhttp://www.aygfsteel.com/zhangyuan/archive/2010/07/28/327371.html#Feedback13http://www.aygfsteel.com/zhangyuan/comments/commentRss/327371.htmlhttp://www.aygfsteel.com/zhangyuan/services/trackbacks/327371.html 环境
    开发工PMyeclipse8.5
    JAVA环境QJDK1.6
    操作pȝQwindows7

    首先l大家看看经理的Myeclipse安装目录Q经理在q个目录里徏了一个myPlugin文g夹专门来理插g?br />
    我这里以安装jad的插件ؓ例讲解。我们在myPlugin目录下徏立一个jad目录来存放jad的插件包Q在q个目录下创建features和plugins目录Qƈ把jad的插件包copy到里面去?br />
    打开Myeclipse的安装目录下的dropins文g夹,在此文g夹下创徏jad.link文g

    在这个文件中写入刚才配置的myPlugin的jad地址
    path=D:\\MyEclipse 8.5\\myPlugin\\jad
    注意Q这里的反斜杠需要{义,也就是用\\来表C?br />
    q样配置工作完成了?br />
    以后我们所有的插g都可以在dropinsq个文g夹中来创建对应的.link文g链接。而所有插件包夜可以在myPlugin目录中很好的理hQ这样不是很?..

    希望以后有好东西q是跟大家一起分?

    张元Won 2010-07-28 23:25 发表评论
    ]]>
    վ֩ģ壺 ƽ| | п| | | | | | ¦| | | | ˮ| ۽| ʯ| | ɽ| | ³| | | گ| | | ͡| | | | ɽ| ʡ| | | | Ű| Ҫ| | | | ʯ| | |