Как создать список Java на основе массива JavaScript? - PullRequest
1 голос
/ 12 марта 2012

Я не очень разбираюсь в JavaScript, но я смог преобразовать массив double (в Java) в массив также в JavaScript, используя json (с Gson).

Но теперь мне нужночтобы преобразовать этот список ниже в некоторый список объектов, чтобы он мог быть динамическим на моей стороне сервера для отправки на сторону клиента.

plotBands: [{ // Light air
                from: 0.3,
                to: 1.5,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Light air',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Light breeze
                from: 1.5,
                to: 3.3,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Light breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Gentle breeze
                from: 3.3,
                to: 5.5,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Gentle breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Moderate breeze
                from: 5.5,
                to: 8,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Moderate breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Fresh breeze
                from: 8,
                to: 11,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Fresh breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Strong breeze
                from: 11,
                to: 14,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Strong breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // High wind
                from: 14,
                to: 15,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'High wind',
                    style: {
                        color: '#606060'
                    }
                }
            }]

Каким должен быть этот класс в Java?Так что я могу использовать Json (с Gson) для его анализа.

Я думаю, должно быть что-то вроде:

class Info 
    private float from;
    private float to;
    private String color;
    private Label label;

class Label
   private String text;
   private Style style;

class Style
   private String color;

И в конце у меня есть List<Info> plotBands и использование .toJsonметод.Я правильно думаю?Или я чего-то здесь упускаю?

ОБНОВЛЕНИЕ На моей странице .xhtml у меня есть:

<h:outputScript>var data = ${reportc.dataAsJson};</h:outputScript>

Я создаю эти классы выше, о которых я упоминал: Тогда яcreate:

List<Info> infos = new ArrayList<Info>();
infos.add(new Info(0, 10, "rgba(68, 170, 213, 0.1)", new Label("Cold", new Style("#606060"))));
data.put("plotBands", infos);

Это генерирует следующий код JavaScript:

{"plotBands":[{
    "from":0.0,
    "to":10.0,
    "color":"rgba(68, 170, 213, 0.1)",
    "label":{
        "text":"Cold",
        "style":{
             "color":"#606060"
         }
    }
}]

Какой это кажется правильным, но как передать это моему коду JavaScript ?Я пытаюсь, но ничего не получается.

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

В вашем файле JS замените

plotBands: [{ // Light air
                from: 0.3,
                to: 1.5,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Light air',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Light breeze
                from: 1.5,
                to: 3.3,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Light breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Gentle breeze
                from: 3.3,
                to: 5.5,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Gentle breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Moderate breeze
                from: 5.5,
                to: 8,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Moderate breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Fresh breeze
                from: 8,
                to: 11,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'Fresh breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // Strong breeze
                from: 11,
                to: 14,
                color: 'rgba(0, 0, 0, 0)',
                label: {
                    text: 'Strong breeze',
                    style: {
                        color: '#606060'
                    }
                }
            }, { // High wind
                from: 14,
                to: 15,
                color: 'rgba(68, 170, 213, 0.1)',
                label: {
                    text: 'High wind',
                    style: {
                        color: '#606060'
                    }
                }
            }]

на

plotBands: data.plotBands
0 голосов
/ 12 марта 2012
class Style
   private String color;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...