Гибкая проблема Java! - PullRequest
       1

Гибкая проблема Java!

0 голосов
/ 09 мая 2011

Моя проблема в том, что у меня есть такой класс Java,

     public class DogrusalTekliHareket {


        public Degiskenler Son; 

        public void Bul()
        { 
          //.... 
         }
 }

Когда я пытаюсь использовать что-то подобное,

  <fx:Script>
  <![CDATA[

    var hesaplama:DogrusalTekliHareket= new DogrusalTekliHareket();
    hesaplama.Son;

]]>
</fx:Script>

выдает ошибку при использовании hesaplama.Son . В чем проблема и как я могу использовать сына?

Ответы [ 4 ]

0 голосов
/ 10 мая 2011

Я знаю, что мы постоянно занимаемся такими вещами в приложениях Flex, над которыми я работал, но я замечаю, что мы делаем то, чего вы, похоже, не делаете, это то, что мы фактически создаем наш собственный объект ActionScript. аналог объекта Java, затем используйте аннотацию RemoteClass в ActionScript, чтобы сообщить механизму, что «этот» класс ActionScript должен использоваться для «этого» класса Java. Кроме того, вы определяете методы получения и установки на стороне Java, на стороне Flex / ActionScript он будет выглядеть как hesaplama.son, если в основном следует тем же соглашениям об именах, что и JSP EL для преобразования имен свойств.

НТН

0 голосов
/ 09 мая 2011

BlazeDS требует, чтобы при десериализации и сериализации объектов вы делали это через геттеры и сеттеры. Убедитесь, что в вашем классе Java есть методы получения и установки переменных экземпляра.

0 голосов
/ 10 мая 2011

Хорошо.У вас должно быть как минимум два разных и довольно несвязанных проекта: один с Java-кодом на стороне сервера (я полагаю, это должен быть динамический веб-проект WTP), а другой - проект Flex или ActionScript с кодом MXML / ActionScript.WTP и Flash Builder позволяют настраивать параметры проекта, чтобы иметь как Flex, так и Java-проекты в одном проекте WTP / Flex, но в любом случае у них просто есть общие выходные папки, но они имеют различную природу проекта и собираются отдельно с разными компиляторами.

Этоспособ, которым Flex и код Java не связаны.У них нет общих зависимостей Java / ActionScript / MXML / jar / swc, и вы не можете использовать Java-код во Flex-части и наоборот.

Поэтому для использования некоторого DTO на стороне сервера (я имею в виду Java)Вы должны объявить это DTO в Java.И чтобы иметь некоторое DTO на стороне клиента, вы должны объявить это в ActionScript.А взаимодействие клиент-сервер будет осуществляться через HTTP с использованием сериализации AMF (в случае BlazeDS), которая довольно независима от языка.Но это может быть XML или JSON, которые также не зависят от языка.

Чтобы упростить синхронизацию клиент / сервер, вы можете использовать некоторые генераторы кода, которые могут генерировать источники Java и ActionScript из отдельных объявлений.Я имею в виду что-то вроде Clear Toolkit (и, в частности, ClearDataBuilder ) или Spring Roo интеграцией Spring / BlazeDS ).Но в любом случае они генерируют отдельные исходные коды Java и ActionScript / MXML, которые можно скомпилировать отдельно (используя javac и mxmlc соответственно).

Надеюсь, это поможет!

PS И извините за мой маленькийЗамечание о ваших стандартах именования.Я полагаю, вам немного легче иметь идентификаторы на турецком языке (поскольку мне немного легче иметь русские идентификаторы), но все современные компьютерные языки представлены на английском языке и во всех международных сообществах, как, например,StackOverflow, на английском языке.И вам и потенциальным сторонникам вашего кода будет лучше приучить себя использовать английские идентификаторы.

0 голосов
/ 09 мая 2011

Проблема в том, что доступ к hesaplama.Son ничего не делает и не является допустимым выражением.

Попробуйте:

var hesaplama:DogrusalTekliHareket= new DogrusalTekliHareket();
var hesaplamaSon:Degiskenler  = hesaplama.Son;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...