Теги Struts в Javascript - PullRequest
       1

Теги Struts в Javascript

0 голосов
/ 06 декабря 2011

Что бы вы посчитали лучшей практикой?

Вы бы сделали (в javascript):

var aaa = <s:property value="myValue"/>;

или скорее (в файле jsp):

<s:hidden  name="myValue" id="myValue" />

с (в javascript):

var bbb = document.getElementById("myValue").value;

Ответы [ 3 ]

2 голосов
/ 06 декабря 2011

Ну, это зависит, я думаю. Вы не можете использовать теги struts2 в файлах JS, если не сохраните их как .jsp. В случае, если вы делаете это или у вас есть JS-код на вашей странице, лично у меня нет проблем с первым вариантом, поскольку теги будут обрабатываться обратно на сервере. Я использую это часто, когда есть простое задание.
Мне не нравится второй вариант, потому что он делает код немного уродливым и может вызвать некоторые проблемы с обслуживанием.
Подводя итог, лучше разделить коды JS и серверной части. Если вы обнаружите, что все перепутаете, возможно, вы захотите взглянуть на свой дизайн, который может измениться. Опять же, это зависит от того, как вы предпочитаете это делать.

1 голос
/ 06 декабря 2011

Есть много способов, включая то, что вы показали.

Вы также можете:

  • Передача файлов JavaScript через процессор JSP
  • Использование другого языка шаблонов для динамического JS (например, FreeMarker)
  • Излучение объекта JSON, оцененного до включения ваших файлов JS (например, содержимое скрытого элемента div оценивается исключительно для побочных эффектов JS)
  • Выполните Ajax-вызов для того же объекта JSON при загрузке страницы до срабатывания вашей функциональности

Возможно, еще несколько. Я не предпочитаю скрытые поля, если они не в форме, которая не отправлена ​​(например, скрытая, отдельная форма), если не очень ясно, какие значения формы имеют значение, а какие нет.

1 голос
/ 06 декабря 2011

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

Я не хотел бы смешивать вещи и пойдет вторым путем, используя скрытое поле.мне это служит 2 целям.

  1. отделение моего тега struts2 от JavaScript.
  2. Более того, я могу написать простой чистый код JavaScript со стандартным методом JavaScript, а не путать вещи
...