Как добавить разные Javascript в калитке разработки и производства - PullRequest
3 голосов
/ 23 ноября 2011

У меня есть приложение для калитки, в которое я добавил файлы javascript в разметку html:

<script src="script/jquery.min.js" type="text/javascript"></script>

Мои файлы javascript не находятся рядом с моими файлами .java или .html, они находятся в другом местена сервере, как видно из предыдущего описания скрипта.

Мой вопрос: возможно ли добавить эти файлы javascript в зависимости от режима приложения?То есть, если приложение находится в режиме разработки, загрузите один файл javascript, если оно находится в производственной среде, загрузите другой файл.

Спасибо!

PS: идея состоит в том, чтобы загрузить версию "min" напроизводство, но расширенные файлы находятся в процессе разработки, поэтому отладка становится возможной

ПРИМЕЧАНИЕ : здесь просматриваются разные ответы, повторяю: проблема не в том, что приложение калитки находится в режиме разработки или развертывания,Я знаю это, но о том, как изменить разметку HTML или добавить различные ресурсы JavaScript

Ответы [ 5 ]

2 голосов
/ 23 ноября 2011

продлите ответ @rotsch, вы можете сделать это в калитке 1.5 с помощью:

@Override
public void renderHead(IHeaderResponse response) {
    if(DEVELOPMENT)
        response.renderString("<script type=\"text/javascript\" src=\"url1\"></script>");
    else
            response.renderString("<script type=\"text/javascript\" src=\"url2\"></script>");

}

https://cwiki.apache.org/WICKET/migration-to-wicket-15.html#MigrationtoWicket1.5-RemovedHeaderContributorandfriends.

1 голос
/ 24 ноября 2011

Я использую этот макет каталога:

resources
|---JQueryResource.java
|---jquery-1.6.4.js
|---jquery-1.6.4.min.js

С этим классом:

public class JQueryResource {
    /**
     * Must be called in a RequestCycle.
     * 
     * @return Url for the jQuery library.
     */
    public static String getURL() {
        if (Application.get().usesDevelopmentConfig()) {
            Url url =
                    RequestCycle.get().mapUrlFor(
                            new PackageResourceReference(JQueryResource.class, "jquery-1.6.4.js"),
                            null);
            return url.toString();
        } else {
            Url url =
                    RequestCycle.get().mapUrlFor(
                            new PackageResourceReference(JQueryResource.class,
                                    "jquery-1.6.4.min.js"), null);
            return url.toString();
        }
    }
}

Так я добавляю ресурс на свою страницу.

@Override
public void renderHead(IHeaderResponse a_response) {
    a_response.renderJavaScriptReference(JQueryResource.getURL());
}
1 голос
/ 23 ноября 2011

Вы можете узнать, в каком режиме вы находитесь, с помощью следующего кода:

RuntimeConfigurationType.DEPLOYMENT.equals(getApplication().getConfigurationType())

или

RuntimeConfigurationType.DEVELOPMENT.equals(getApplication().getConfigurationType())

0 голосов
/ 23 ноября 2011

Я установил свойство в properties file и добавил к пути при запуске виртуальной машины.

Тогда я делаю, если еще похоже на ответ PHP.

0 голосов
/ 23 ноября 2011

Вы можете использовать pack: tag для сжатия всех ваших ресурсов: http://sourceforge.net/projects/packtag/

В своем файле web.xml / .properties вы можете указать, упаковать его или нет, в зависимости от вашего производственного режима.

...