posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

     摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 <rows><row id='1703' name='武昌南机务段    ' /><row id='1701' name='襄樊北机务段    ' />...  阅读全文

posted @ 2007-07-02 10:22 G_G 阅读(3043) | 评论 (2)编辑 收藏

问题 : 提供给B/S 结构一个实时的运行展现
解决:   prototype 的 Ajax.PeriodicalUpdater 更新
            prototype 的    Ajax.Request 语句提交
            action 语句的组织展现

http://www.blogjava.net/Files/Good-Game/take.rar

    没有lib 大家可以就加 struct 相关 lib 就可以了

说明: 
      

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
          
<SCRIPT language="Javascript" src="prototype1.5.0.js"></SCRIPT>
  
</head>
  
  
<body onload="Said()"> 
      
<INPUT id='name1' type="text" size="10" value="请输入名字" onfocus="if($('name1').value=='请输入名字') $('name1').innerText='' " />
      
<INPUT id='text1' type="text" onkeydown="if(event.keyCode==13){event.keyCode=0; onb();}"/>
      
<INPUT id='button1' type="button" value="test" onclick='onb()' />
  
</body>
  
<div id='div1'/>
</html>
<script type="text/javascript"  >
        //语句异步提交给服务器 Ajax.Request
    
function onb(){                                         
      
if($('name1').value=='请输入名字' || $('name1').value==''){
          window.alert('请输入名字');
          
return 
      }

      
      
var url = 'http://192.168.1.130:7000/xxs/mySaid.do?name='+$F('name1')+'&take='+$F('text1');                
      new Ajax.Request(
        url,
        
{
            method: 'get',
            onComplete: action              
        }
);
        
        $('name1').readOnly 
= true
        $('name1').style.background 
= 'lightblue'
        $('text1').innerText
='' 
    }

       //局部刷新 并提取 语句
    
function Said(){
        
var url = 'http://192.168.1.130:7000/xxs/mySaid.do';  
        new Ajax.PeriodicalUpdater(
            'div1',
            url,
            
{
                method: 'get',
                onComplete: SumSaid,
                evalScripts: 
true,
                frequency: 
1,
                decay: 
1
            }

        );
    }

       //展现
    
function SumSaid(req){
        $('div1').innerHTML 
= req.responseText;
    }


    
function action(req){
    }

    
</script>
    

Action
   private static int SIZE = 30 ;
     private List list = new ArrayList();

    
public ActionForward execute(
        ActionMapping mapping,
        ActionForm form,
        HttpServletRequest request,
        HttpServletResponse response) 
{
        String take 
= request.getParameter("take") ;
        String name 
= request.getParameter("name") ;
        response.addHeader(
"Cache-Control","no-cache"); 
        
        request.setAttribute(
"said",DueiLie(name,take));

        
try {
            request.setCharacterEncoding(
"gb2312");
            response.setCharacterEncoding(
"gb2312");
        }
 catch (Exception e) {
        }


        
return mapping.findForward("list");
    }

     
        //语句的组织
    
public String DueiLie(String name,String take){
        
        StringBuffer strb  
= new StringBuffer();
        
if(name==null||take==null);
        
else{
            strb.append( name ).append(
" : ").append(take).append("</br>") ;
            
if(list.size()==SIZE){
                list.remove(list.get(
0));
                list.add(strb.toString() );
            }
else{
                list.add( strb.toString() );
            }

        }

        StringBuffer takes 
= new StringBuffer();
        Iterator it 
= list.iterator();
        
while(it.hasNext()){
            takes.insert( 
0,(String)it.next() );
        }

        
return takes.toString();
    }

jsp ( list ) 中文处理 jsp 就一句话
<%= new String(((String)request.getAttribute("said")).getBytes("iso8859-1"),"GBK") %>

心得:别人做到了 我也能做到
         要学的东西很多 多看书 多留意 多保护好身体

posted @ 2007-06-13 10:22 G_G 阅读(1429) | 评论 (3)编辑 收藏

     function  selectValue(select,val) {
        
var  opt  =  select.options ;
                
for ( var  i = 0 ;i < opt.length;i ++ ) {
            
if ( opt[i].firstChild.nodeValue  ==  val) {
                opt[i].selected 
=   true ;
                
return  ; 
            }

        }

        
for ( var  i = 0 ;i < opt.length;i ++ ) {
            
if ( opt[i].value  ==  val) {
                opt[i].selected 
=   true ;
                
return  ; 
            }

        }


    }

    

posted @ 2007-06-12 16:29 G_G 阅读(381) | 评论 (0)编辑 收藏

问题:     对数据的打印
解决:     用友华表Cell插件与IE 结合 
               在jsp 中 用包装好的 标签来实现数据展现 

   Cell下载(http://mail.google.com/mail/?realattid=f_f2smalft&attid=0.1&disp=attd&view=att&th=11319ae8ff5275c3)后改成*.zip

简单例题下载  http://www.blogjava.net/Files/Good-Game/paobiao.rar           解压为 war 后就直接 http://localhost:7000/paobiao/paobiao.do

大家要是 会 ec 那就简单了 <jjmtabletag:exttable>标签包装的和 ec 很想  
先用报表软件 画 个 样式 我的是    form/Tat.cll
后 在 jsp 中


<% @ page language = " java "  pageEncoding = " UTF-8 " %>
<% @ taglib prefix = " ajax "  uri = " /WEB-INF/ajaxtags.tld "   %>
<% @ taglib uri = " http://www.jjm.cn/tags-tables "  prefix = " jjmtabletag " %>

<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >  
    
< head >
        
< title > JSP for paobiaoForm form </ title >
        
< script  type ="text/javascript"  src ="<%=request.getContextPath()%>/js/jjmtag.js" ></ script >    
    
</ head >
      
< body  onload ="window_onload()" >
    
      
< jjmtabletag:exttable
          
templateFile ="/form/Tat.cll"                           //报表的格式的所在地
          action
="/paobiao.do"  
          firstRow
="3"                                                                                      //从第3行开始
          primaryKey
="name"                                                                                     
          items
="list"                                                                                                     
          searchButtonVisible
="false"                                                                     
          ajaxEnabled
="false" >   
              <jjmtabletag:column col="2" row="5" property="" value='liukaiyi' />   //在 第5 行第2  列 'liukaiyi'
可以<%= ....%>
          
<jjmtabletag:column col="1" property="name"/>                       //读集合 list 中(循环)的元素 并从第三行开始
      </jjmtabletag:exttable>   

    
</body>
</html>


其他的 大家看看吧 简单 刚到公司 发现这个很好 消化下就贴出来(时间问题例题不好)
欢迎大家评论

posted @ 2007-06-12 10:23 G_G 阅读(1149) | 评论 (2)编辑 收藏

     摘要: 问题: 提供简单 java 和 javascript API 解决: 对 hbm 得到的 bean[] 自动生成 xml    public void addXml(String tableName,String idName,Object[] bean){                                                  格式 <tableName&g...  阅读全文

posted @ 2007-06-06 17:29 G_G 阅读(1294) | 评论 (0)编辑 收藏

问题: 总是用别人的框架写树以为很难,其实。。。
解决:以 if event.srcElement.id=="foldheader1" 得到选项
         var srcIndex = event.srcElement.sourceIndex
         再 var nested = document.all[srcIndex+1] 取出选择的下一个 ( +1 )
              nested.style.display=' ?? ' 就可以了
             并注意结构是
                         <选项/>  
                            <url>  //srcIndex+1 下个 可见不可见 就是 <url>
                               <li>...</li>
                                <li>...</li>
                                 ....
                            </url>


<HEAD>

    
<SCRIPT language=JavaScript1.2>
    
function change(){
       
if(!document.all)
          
return
       
if (event.srcElement.id=="foldheader1") {
          
var srcIndex = event.srcElement.sourceIndex
          
          
var nested = document.all[srcIndex+1]

          
if (nested.style.display=="none") {
             nested.style.display
=''
          }
          
else {
             nested.style.display
="none"
          }
       }
    }
    
</SCRIPT>

    
<STYLE>
        #foldheader1 
{      <!-- 图的加入-->
            CURSOR
: hand; LIST-STYLE: url(../rlzy/images/imbrex.gif) 
        
}
    
</STYLE>
</HEAD>
<BODY leftMargin=0 rightMargin=0 onload="window.status='';">
  
<font size="-1">
<!-- DIV id=Layer7 style="HEIGHT: 127px; LEFT: -1px; POSITION: absolute; TOP: 34px; WIDTH: 47px; Z-INDEX: 1"></DIV-->
<DIV id="Layer2" style="HEIGHT: 134px; LEFT: 2px; POSITION: absolute; TOP: 30px; WIDTH: 193px; Z-INDEX: 3">
  
<UL style="MARGIN-LEFT: 20px"> 
        
        
        
        
<li>
          
<href="#" onClick="change()" id="foldheader1">乘务员基本档案</a>
          
<ul id=foldinglist style="''" style="MARGIN-LEFT: 10px">
            
<li><href="/rlzy/jcyy/basePersonnelList.do?do=byCorp" target="content">人员基本档案1</a></li>
            
<li><href="" target="content">人员基本档案2</a></li>
          
</ul>
        
</li>
        
      
</UL>
    
</DIV>        
  
</font>
</BODY>
</html>

<FRAMESET rows="84,*" cols="*" frameborder="no" framespacing="0" border="0">
  
<FRAME src="header.html" name="header" scrolling="no">
  
<FRAMESET cols="125,*" frameborder="no" framespacing="0" border="0">
    
<FRAME name="treefrm" src="dir2.jsp?code=0" scrolling="no">
    
<FRAME name="content" src="welcome.jsp">
  
</FRAMESET>


心得:其实很简单,只是你不知道

posted @ 2007-06-06 11:01 G_G 阅读(729) | 评论 (2)编辑 收藏

        ApplicationContext app  =   new  FileSystemXmlApplicationContext( " analysis.xml " );
        AnalysisFactory af 
=   new  AnalysisFactoryImp();
        
        test tt 
=   new  test();
        
    af.setOrder(
"  :$2: :$0:fr=f5%8 :$1:name  "  ,  new  Object[] { " liu " ,tt, " heha " } );  
                         //每个对象以空格分开 每个有 范围: 对象名 : 对自己的操作     
                         //例如 analysis:test:   就是重 spring 中得到     test 对象

                        //关键所在 以String 代替 简单逻辑 API  就很一致 并接近自然语言
        af.submits();
        System.out.println( ((test)af.getAttribure(
" $1 " )).getName() );

        
问题:
对众多API我们能怎么样呢?
解决:用String 再提供一个对象得到你想要的


下载:
 http://www.blogjava.net/Files/Good-Game/MyUtil.rar

      首先 .classpath 文件配置 CLASSPATH
       文件 src 源文件 /test-----
                                             /bean/test.java      为使用test Bean
                                             /TestFactory.java  为测试
                                   /analysis-------
                                             /AnalysisFactory.java  为interface方向类
                                             /imp------
                                                   /AnalysisFactoryAbs.java  为抽象类
                                                   /AnalysisFactoryImp.java   为类

在AnalysisFactoryImp.java   中
        protected Object action(List ele)     ele  内一行 name , object , logic , size 为存取 
                                    类与类之间的动作  
        protected boolean isScopeExpansion(List vs, String scope, String className)
                                     类 的初次完成用vs.set(1, -对象-  ); 填充
        protected boolean isInSetExpansion(String inOp, Object object)
        protected void inAction(List vs)

心得: 写的不好 但 想法就是 以String 提供统一的简单的API   

posted @ 2007-06-05 09:51 G_G 阅读(782) | 评论 (0)编辑 收藏

问题:   struct 标签没有直接与ajax 数据兼容互换方法
解决: 先用struct 动态得到数据 ,再利用javascrpit 的 function(this) 把值提取 交给 ajax

需要提交的 struct link 项
<div2>
         <html:link    onclick='return action(this)'                          //javascript 提交  参数为 自己标签 
                               action=""                                                       //屏蔽 struct 提交 但 用 struct 得到 动态值
                               paramName="tom"
                               paramProperty="personid"
                              paramId="personnelId">
                             编辑</html:link>
   <div2/>

<div1/>

js 控制

            
function action(obj){
                
var str = obj.getAttribute('href');                  
                
var id = str.substring( str.lastIndexOf('=')+1, str.length );         // 取得 href 中的 的值 (由 struct 得到的 动态值 )
                   
var pars = 'do=edit&personnelId='+id;
                
new Ajax.Updater('div1','/rlzy/jcyy/basePersonnelList.do?',{parameters:pars,valScripts:true}); //由 prototype 的 ajax 异步提交
                Element.hide(document.getElementById(
"div2"));
                Element.show(document.getElementById(
"div1"));
                
                
return false;
            }


            
function action2(){
                Element.hide(document.getElementById(
"div1"));
                Element.show(document.getElementById(
"div2"));
            }


        
</SCRIPT>

rlzy
/jcyy/basePersonnelList.do  的页面  就局部加入 页面 div1 了
<INPUT type='button' value="test" onclick="action2();"/>

感想:  javascript 万能胶水

posted @ 2007-05-25 18:44 G_G 阅读(806) | 评论 (0)编辑 收藏

问题: 对javascript Dom 解读 xml  的问题
解决: 网页中 javascript 学习

过程 js
function searchSales(){
    
var url = "MyXml.xml";           // url 不限制 可以为 jsp  *.do  只要 out.print()出来的 是 xml 格式
    
var myAjax = new Ajax.Request(
              url,
    
{
    method: 'get',
    onComplete: action              // 成功得到 requ 的挂载方法
    }
);
}


function  action(request)
{
    
var dom = request.responseXML;    //返回 javascript Dom 解读对象
    
    
var list = dom.getElementsByTagName('Weapon'); 
                                //返回标签名<Weapon>  集合项可用.item(i) 得出  .firstChild.nodeValue得值
 
    
forvar i = 0; i < list.length; i++ ) {
        
var nli = list.item(i);
        
var W = nli.getElementsByTagName( 'W' );
        window.alert(W.item(
0).firstChild.nodeValue);
    }

     
}

HTML 页面

</HEAD>
<head>
    
<script src="prototype1.5.0.js"></script>
    
<script src="xml.js"></script>
</head>
<input id='test' type="submit" value="test" onclick="searchSales();" >
</HTML>

XML

<?xml version="1.0" encoding="utf-8" ?>
<Login>

    
<Weapon id="1">
        
<Text="光束剑" Value="0">1</W>
        
<Text="光束配刀" Value="1">2</W>
    
</Weapon>

    
<Weapon id="2">
        
<Text="光束剑" Value="0">3</W>
        
<Text="光束配刀" Value="1">4</W>
    
</Weapon>
    
     
<Weapon id="3">
        
<Text="光束剑" Value="0">5</W>
        
<Text="光束配刀" Value="1">6</W>
    
</Weapon>
</Login>

心得: 调试了很久当时对javascript 的不熟悉,但我没有放弃 去网上查,问同事 最后成功
                 --------------------- 坚持就是胜利 ------------------

posted @ 2007-05-18 17:33 G_G 阅读(989) | 评论 (5)编辑 收藏

问题:  兴趣
解决:   div的 onclike ( this )  得到选择 
            由 window.event 得到 鼠标 x y 
            由 this.style.top/left 改变 div 位置 


        
var x,y;
        
function mousedown(obj)
        {
            obj.onmousemove 
= mousemove;
            obj.onmouseup 
= mouseup;
            
            oEvent 
= window.event ? window.event : event;
            x 
= oEvent.clientX;
            y 
= oEvent.clientY;
        }
        
function mousemove()
        {
            oEvent 
= window.event ? window.event : event;
            
var _top = oEvent.clientY - y + parseInt(this.style.top) + "px"; // oEvent.clientY - y  为div 上 移动的位置 再反映到                                                                                //parseInt(this.style.top)
            var _left = oEvent.clientX - x + parseInt(this.style.left) +"px";
            
this.style.top = _top;
            
this.style.left = _left;
            x 
=  oEvent.clientX;
            y 
=  oEvent.clientY
        }
        
function mouseup()
        {
            
this.onmousemove = null;
            
this.onmouseup = null;
        }

心得: 兴趣决定一切

posted @ 2007-05-08 12:28 G_G 阅读(3874) | 评论 (5)编辑 收藏

仅列出标题
共16页: First 上一页 8 9 10 11 12 13 14 15 16 下一页