powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript и обьекты?
7 сообщений из 7, страница 1 из 1
Javascript и обьекты?
    #35491754
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь прикрутить Ajax к Struts.
Использую DWR.
Вызов метода через DWR в самом ActionForm проходит нормально.
Но вот вырисовать результат без перезагрузки никак не получается.
В документации DWR нет такой возможности чтоб просто обозначить часть страницы каким-то <div id="smth"... и асинхронно перезагрузить ее. Или есть?
Предлагается примерно такой вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
 public   class  Person
{
     private   int  id;
     private  String name;
     private  String address;
     private   float  salary;

    // Getters, setters, equals and toString omitted
}

  public   class  People {
    // Java класс возвращает Set объектов
     public  Set getAllPeople() {
         return  people;
    }
//где каждый обьект в Set зущзду является обьектом класса Person

 //Javascript их читает
function fillTable() {
  People.getAllPeople(function(people) {
  var person, id;
   for  (var i =  0 ; i < people.length; i++) {
      person = people[i];
      id = person.id;
      //и достает поля этого Java обьекта прямо в Javascripte через вызовы типа person.name
      dwr.util.setValue("tableName" + id, person.name);
      dwr.util.setValue("tableSalary" + id, person.salary);
      dwr.util.setValue("tableAddress" + id, person.address);
}
  });


Когда я пытаюсь делать похожее - то Javascript говорит 'people has no properties'
То есть этот Javascript обьект не имеет никаких полей name, salary и тд и то есть совсем не объект?
В чем же тут проблема?
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35491759
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за опечатку
Пытаюсь прикрутить Ajax к Struts.
Использую DWR.
Вызов метода через DWR в самом ActionForm проходит нормально.
Но вот вырисовать результат без перезагрузки никак не получается.
В документации DWR нет такой возможности чтоб просто обозначить часть страницы каким-то <div id="smth"... и асинхронно перезагрузить ее. Или есть?
Предлагается примерно такой вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
public class Person
{
    private int id;
    private String name;
    private String address;
    private float salary;

    // Getters, setters, equals and toString omitted
}

 public class People {
    // Java класс возвращает Set объектов
    public Set getAllPeople() {
        return people;
    }
//где каждый обьект в Set people является обьектом класса Person

 //Javascript их читает
function fillTable() {
  People.getAllPeople(function(people) {
  var person, id;
  for (var i =  0 ; i < people.length; i++) {
      person = people[i];
      id = person.id;
      //и достает поля этого Java обьекта прямо в Javascripte через вызовы типа person.name
      dwr.util.setValue("tableName" + id, person.name);
      dwr.util.setValue("tableSalary" + id, person.salary);
      dwr.util.setValue("tableAddress" + id, person.address);
}
  });


Когда я пытаюсь делать похожее - то Javascript говорит 'people has no properties'
То есть этот Javascript обьект не имеет никаких полей name, salary и тд и то есть совсем не объект?
В чем же тут проблема?
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35493743
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы задали достаточно сложный вопрос.

Для того чтобы привести в действие DWR следует значть очень много об HTML и JavaScript.
И конечно изучить сам фреймыорк DWR.

Я могу Вам посоветовать разобрать http://localhost:8080/dwr/simpletext/index.html.

Этот пример как раз вызывает метод на сервере асинхронным зарпросом и возвращает спрстую строку, которую Вы можете обработать.

Вцелом, DWR и прост и сложен. Просто большинство участникоы форума привыкло делать такие вызовы прямо средствами JavaScript. Поэтому DWR многим может показаться не то чтобы сложным но скорее ненужным, если Вы только не разрабатываете свой фреймворк на базе DWR.

Суть идеологии DWR в вызове удаленных процедур асинхронно и возврате значений в вызывающую программу.

По сути вопроса:

1. Сконфигурировали Вы для Struts как показано здесь http://directwebremoting.org/dwr/server/struts

2. Для обновления HTML-элементов как раз и используется код

dwr.util.setValue("tableName" + id, person.name);

Код: plaintext
<span id="tableName">Name</span><br/>
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35493757
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело в том что person.name не получается. Не видит Javascript в person обьект с полем name.
Я вообще сомневаюсь что Javascript может его видеть как обьект. Скорее он только со строками работает.
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35493784
apapacy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работать с объектами POJO тоде можно.
Для этого нужно прописать конфигурацию DWR

Код: plaintext
1.
2.
3.
4.
   <create creator="new" javascript="People" scope="script">
      <param name="class" value="org.getahead.dwrdemo.people.People"/>
    </create>
    <convert match="org.getahead.dwrdemo.people.Person" javascript="Person" converter="bean"/>

То есть инстанциируется Java объект и задается его конвертация в JavaScript объект.
Creat'ор для Struts видимо нужет свой. (Возможно только для FormBean?)
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35494814
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
сейчас попробую
...
Рейтинг: 0 / 0
Javascript и обьекты?
    #35497922
Фотография oson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
Сделал
Код: plaintext
1.
2.
3.
4.
5.
6.
<create creator="struts" javascript="ScheduleForm">
           <param name="formBean" value="scheduleForm"/>
        </create>
 <convert match="com.data.Custom" javascript="Custom" converter="bean"/>


Теперь работает
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Javascript и обьекты?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]