Struts 2 + Dojo + Datetimepicker - PullRequest
0 голосов
/ 24 мая 2011

Один быстрый вопрос.

Как я могу использовать "простую тему" () и "dojo datetimepicker" () вместе?

Я прочитал, что если вы хотите использовать только простую тему, то вручную импортируйте все необходимые файлы Dojo, используя код из head.ftl ...

Дело в том, что все эти js находятся в файле jar Struts dojo, который включен в путь к классам. Как я могу включить их в JSP? Каким должен быть весь путь? Любой пример будет полезен.

1 Ответ

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

Настройка производительности

1.Включить кэширование шаблонов Freemarker

В версиях Struts до 2.0.10 вам пришлось скопировать каталог / template из jar Struts 2 в корне WEB_APP, чтобы использовать встроенный механизм привязки Freemarker для достиженияаналогичные результаты.

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

2.При переопределении темы скопируйте все необходимые шаблоны в каталог темы.

Производительность снижается, если шаблон не может быть найден в текущем каталоге.Это связано с тем, что Struts 2 должен сначала проверить шаблон в текущей теме, а затем вернуться к родительской теме.В будущем это наказание может быть устранено путем реализации отсутствующего кэша шаблонов в Struts 2.


Пример

YourWebApp  
|-- WebContent  
    |-- templates
        |-- ajax
            |-- controlheader.ftl, datetimepicker.ftl, dojoRequire.js, head.ftl
        |-- simple
            |-- [All files]
        |-- xhtml
            |-- controlfooter.ftl, controlheader-core.ftl, controlheader.ftl, tooltip.ftl, validation.js

<struts>
    <constant name="struts.ui.templateDir" value="templates" />
    <constant name="struts.ui.theme" value="simple" />
</struts>

<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<head>
    <sx:head />
</head>
<body>
    <sx:datetimepicker name="date" />
</body>

Datetimepicker тегов Ajax - это плохо, вы считаете jQuery UI Timepicker / Datetimepicker

...