Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > JAVA- JavaScript
Yazar
whispered


avatar
Samsun
Kayıt: 24.10.2011
24.10.2011-20:55 #76273
Java Class'ın içinden javascript komutunu çağırıp çalıştırmak istiyorum.JSObject kullanmaya çalıştım fakat çalıştıramadım bir türlü.JSObject ile doğru bir şekilde nasıl yapabilirim veya başka bir yolu var mıdır ?





Istanbul Universitesi
Bilgisayar Mühendisligi





Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
25.10.2011-09:42 #76275
Primefaces kullan. Orada RequestContext diye bir olay var.

http://www.primefaces.org/showcase-labs/ui/requestContext.jsf





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
cguzel


avatar

Kayıt: 11.02.2010
22.04.2012-02:02 #77617
Benzer bir sorum olacak,

Bende tam tersini yapmayı düşünüyorum. yani javascript ile göstermek istediğim değerler var ve bu değerleri java ile hesaplamam gerek. daha doğrusu ben java desktop application içerisine browser gömdüm. bu browserda çalışacak script kodları değerleri java tarafından alması gerekiyor. en kısa hali ile söylemek gerekirse javascript ile core java arasında nasıl iletişim kurabilirim.
applet ile ilgili birkaç şey buldum, ama onla mı yapmam gerek tam anlamadım. javascript çok fazla bilmiyorum.

core java kullandığım için primefaces kullanamıyorum.





Yazar
cguzel


avatar

Kayıt: 11.02.2010
22.04.2012-02:16 #77619
cguzel yazdi
 
Benzer bir sorum olacak,

Bende tam tersini yapmayı düşünüyorum. yani javascript ile göstermek istediğim değerler var ve bu değerleri java ile hesaplamam gerek. daha doğrusu ben java desktop application içerisine browser gömdüm. bu browserda çalışacak script kodları değerleri java tarafından alması gerekiyor. en kısa hali ile söylemek gerekirse javascript ile core java arasında nasıl iletişim kurabilirim.
applet ile ilgili birkaç şey buldum, ama onla mı yapmam gerek tam anlamadım. javascript çok fazla bilmiyorum.

core java kullandığım için primefaces kullanamıyorum.


Servlet ile yapabilirmiyiz acaba?





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
22.04.2012-17:13 #77622
javascriipt kullanmadım ama servlet ile hesaplamalar yaptırabilirsin





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
23.04.2012-00:02 #77624
scriptengine ile java kodu içinde javascript evaluate edebilirsin
ama senin yapmak istediğin farklı birşey sanırım.






N/A
Yazar
cguzel


avatar

Kayıt: 11.02.2010
23.04.2012-19:22 #77626
benim açıkcası masaüstü uygulamasında işe yarar bir harita kullanmam gerek. bu haritanın hesapladığım verileri istediğim şekilde göstermesi gerek. bunun için bir çok harita sistemi baktım, google maps gibi işe yarar bişi bulamadım. google maps ise javascript ile yazılıyor. bunun için swing içine browser gömdüm. javascript ile haritamı burdan göstereceğim.

burda bir sorun var. hesapladığım veriler javadan javascripte nasıl aktarılacak. bunun için yöntem arıyorum. şunu düşündüm: hesaplanan veriler bir text dosyasına kaydedilir ve burdan okurum. ama javascriptle okuma yapılmıyor. bende JSON veya XML olarak post etmeyi düşündüm. şuan onla uğraşıyorum. bunun için servlet kullanıp servletten post ettiğim XML veya JSON verisini javascript le okurum diye düşündüm. ama bundada şöyle bir sıkıntı var XML 180bayt JSON ise 150bayt veri taşıyabilirmiş. benim taşıyacağım veri daha yüksek olacak sanırım. ayrıca servlet kullanmak için birde tomcat kullanmak gerekecek. bu sebeple daha kullanışlı bir yöntem arıyorum. Kısaca bir şekilde dosyadan okuma yapmak işimi görecek. bu sizin bahsetmiş olduğunuz enginescript burda çare olur mu?





Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
23.04.2012-19:33 #77627
XML veya JSON'da data böyüklüğünde belirlenmiş bir sınır yok, belki kullandığın yöntemin kısıtlamaları olabilir. İki process arasında bridge oluşturmak için en mantıklı yaklaşım yine socket iletişimi kurmak. Ben olsam servlet ile uğraşmam, ayrı bir thread içine basit bir web sunucusu entegre ederim. Eğer web sunucusu ile ana sistemi tek bir java programı içinde çalıştırabilirsen veriyi dosyaya yazmaya gerek kalmayabilir. Javascript tarafında da ajax ile sunucuya bağlanılıp istenen veriye ulaşılabilir.





Let`s make this world a better place to live !

Yazar
admin


avatar

Kayıt: 19.05.2011
23.04.2012-19:48 #77628
cguzel yazdi
 
benim açıkcası masaüstü uygulamasında işe yarar bir harita kullanmam gerek. bu haritanın hesapladığım verileri istediğim şekilde göstermesi gerek. bunun için bir çok harita sistemi baktım, google maps gibi işe yarar bişi bulamadım. google maps ise javascript ile yazılıyor. bunun için swing içine browser gömdüm. javascript ile haritamı burdan göstereceğim.

burda bir sorun var. hesapladığım veriler javadan javascripte nasıl aktarılacak. bunun için yöntem arıyorum. şunu düşündüm: hesaplanan veriler bir text dosyasına kaydedilir ve burdan okurum. ama javascriptle okuma yapılmıyor. bende JSON veya XML olarak post etmeyi düşündüm. şuan onla uğraşıyorum. bunun için servlet kullanıp servletten post ettiğim XML veya JSON verisini javascript le okurum diye düşündüm. ama bundada şöyle bir sıkıntı var XML 180bayt JSON ise 150bayt veri taşıyabilirmiş. benim taşıyacağım veri daha yüksek olacak sanırım. ayrıca servlet kullanmak için birde tomcat kullanmak gerekecek. bu sebeple daha kullanışlı bir yöntem arıyorum. Kısaca bir şekilde dosyadan okuma yapmak işimi görecek. bu sizin bahsetmiş olduğunuz enginescript burda çare olur mu?



http://java.sun.com/developer/technicalArticles/J2SE/Desktop/scripting/

/*
 * AccessJavaVariable.java
 *
 * Copyright 2006 Sun Microsystems, Inc. ALL RIGHTS RESERVED Use of 
 * this software is authorized pursuant to the terms of the license 
 * found at http://developers.sun.com/berkeley_license.html .
 *
 */

package com.sun.demo.scripting;
import java.util.ArrayList;
import java.util.List;
import javax.script.*;

/**
 * This example shows how to invoke specific methods in a script. It 
 * also shows how a script can access objects in the Java environment.
 *
 * @author John O'Conner
 */
public class AccessJavaVariable {
    
    /** Creates a new instance of AccessJavaVariable */
    public AccessJavaVariable() {
        mgr = new ScriptEngineManager();
        jsEngine = mgr.getEngineByName("javascript");
        invocableEngine = (Invocable) jsEngine;
    }

    void run() {
        List<String> namesList = new ArrayList<String>();
        namesList.add("Jill");
        namesList.add("Bob");
        namesList.add("Laureen");
        namesList.add("Ed");
        System.out.println("Executing in script environment...");
        try {
            jsEngine.eval("function printNames2() {" +
                          "  var x;" +
                          "  var names = namesListKey.toArray();" +
                          "  for(x in names) {" +
                          "    println(names[x]);" +
                          "  }" +
                          "}" +

                          "function printNames1(namesList) {" +
                          "  var x;" +
                          "  var names = namesList.toArray();" +
                          "  for(x in names) {" +
                          "    println(names[x]);" +
                          "  }" +
                          "}" +

                          "function addName(namesList, name) {" +
                          "  namesList.add(name);" +
                          "}"
                );
            invocableEngine.invokeFunction("printNames1", namesList);
            invocableEngine.invokeFunction("addName", namesList, "Dana");
            jsEngine.put("namesListKey", namesList);
            invocableEngine.invokeFunction("printNames2");
                
        } catch (ScriptException ex) {
            ex.printStackTrace();
        } catch (NoSuchMethodException ex) {
          ex.printStackTrace();
        }
        
        System.out.println("Executing in Java environment...");
        for (String name: namesList) {
            System.out.println(name);
        }
        
        
    }
    
    public static void main(String[] args) {
        new AccessJavaVariable().run();
    }
    
    private ScriptEngineManager mgr;
    private ScriptEngine jsEngine;
    private Invocable invocableEngine;
}






Yazar
greenrock


avatar
istanbul
Kayıt: 18.08.2008
24.04.2012-00:37 #77629
Eğer Browser da işlem yaptırıcaksan JSON veri tipi dönen Servislerini hazırla. Swing işlemlerine göre Browser da gösterdiği haritayı yada datalarını değiştirebilirsin.Swing tarafını bilmiyorum ama HTML sayfa hazırlayıp Json servisleriyle bu sayfada Google Javascript Map v3 ile güzel şeyler yapabilirsin.
Json veri türlerinide Spring MVC kullanarak parametreli yapabilirsin.bir kaç Configuration ile sadece Metodlarını yazarak Kendi POJO classlarını Marshalling ile Json'a dönüştürebilirsin.JSON ile çalışman hız bakımından daha hızlı olucaktır.Yazdığın POJO sınıflarını Swing tarafındada kullanabilirsin.Haritaya JSON'ları bağlaman için de AJAX Request 'e bakman lazım.
Kolay gelsin






Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb