JSF рендеры - использование шаблонов - PullRequest
2 голосов
/ 25 мая 2009

Мне было интересно, есть ли у кого-то опыт использования какого-либо языка шаблонов для генерации вывода html в рендерере компонента.

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

 writer.write('\n');
 writer.startElement("script", null);
 writer.writeAttribute("type", "text/javascript", null);
 writer.writeAttribute("language", "Javascript", null);
 writer.write("var checkbox_off = \"" + CHECKBOX_OFF_IMAGE_PATH + "\";\n");
 writer.write("var checkbox_on = \"" + CHECKBOX_ON_IMAGE_PATH + "\";\n\n");
 writer.write("cache1 = new Image("
                    + CHECKBOX_IMAGE_WIDTH
                    + ","
                    + CHECKBOX_IMAGE_HEIGHT
                    + ");\n");
 writer.write("cache1.src=checkbox_off;\n");
...

Я видел статьи, обсуждающие использование Velocity в качестве языка шаблонов рендеринга (http://people.apache.org/~matzew/jsfvelocity.html)), но меня беспокоило, как другие разработчики компонентов JSF решили эту проблему и существует ли более общее мнение о том, как справиться с этим проблема.

Ответы [ 2 ]

1 голос
/ 28 мая 2009

Попробуйте использовать Facelets с JSF. Их вы можете переместить весь код Renderer в HTML-файл. Вам не нужно делать это на Java. Если вам нужен образец, я могу поделиться этим.

0 голосов
/ 25 мая 2009

Я не уверен, что существует какой-либо консенсус относительно использования шаблонов в средствах визуализации - конечно, в спецификации JSF нет ничего. Основное усилие по использованию шаблонов в JSF - на уровне определения представления через Facelets, но это мало полезно при написании средств визуализации.

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

...