'WEB'에 해당되는 글 66건

  1. 2010.10.21 www.java.com/js/deployJava applet 다시 그리기
2010. 10. 21. 20:17

www.java.com/js/deployJava applet 다시 그리기

[ERCSB] 이화여대 시스템 생물학 연구소
 
<script type="text/javascript" src="http://www.java.com/js/deployJava.js"></script>

deployJava.runApplet(attributes, parameters, version) 를 통해서 applet을 그린 후,
ajax 등을 사용하여 UI에서 applet에서 사용하는 데이터가 변경되었을 때
deployJava.runApplet(attributes, parameters, version)를 사용하지 않고 다시 그리는 방법

deployJava.runApplet(attributes, parameters, version)에서 사용된 attributes, parameters를 인자값으로 넘겨준다.
deployJava.js 에서 applet을 그려주는 부분을 가져와서 다시 사용한다.

            function writeAppletTag(attributes,parameters){
                var strHtml = "";
                var s='<'+'applet ';
                var codeAttribute=false;
                for(var attribute in attributes){
                    s+=(' '+attribute+'="'+attributes[attribute]+'"');
                    if(attribute=='code'){
   codeAttribute=true;
                    }
                }
                if(!codeAttribute){
                    s+=(' code="dummy"');
                }
                s+='>';
//                document.write(s);
                strHtml = strHtml + s;
                if(parameters!='undefined'&&parameters!=null){
                    var codebaseParam=false;
                    for(var parameter in parameters){
   if(parameter=='codebase_lookup'){
    codebaseParam=true;
   }
   s='<param name="'+parameter+'" value="'+parameters[parameter]+'">';
//   document.write(s);
                        strHtml = strHtml + s;
                    }
                    if(!codebaseParam){
//   document.write('<param name="codebase_lookup" value="false">');
                        strHtml = strHtml + s;
                    }
                }
//                document.write('<'+'/'+'applet'+'>');
                strHtml = strHtml + s;
                document.getElementById("viewNetwork").innerHTML = strHtml;
            }

== 코드 ==
jQuery를 사용하여 ajax 처리된 결과를 다시 보여주는 방법

            /* Network Visualization */
            $("#btn_go_network, #btn_refresh_network").click(function() {
                $.get('search.do', {
                    from : 'network',
                    dataCategory : gDataCategory,
                },
                function(data){
                    callBackNetworkList(data);
                });
            });

            function callBackNetworkList(data) {
                attributes = {
                    code:"applet.NetworkViewer",
                    width:1000, height:650
                };
                parameters = {
                    graphMl: data,
                    networkType:"miRGator",
                    jnlp_href:"ViewerApplet.jnlp"
                };
                version = "1.6";
                closeAjaxDialog();

                writeAppletTag(attributes, parameters);
            }