Какие файлы JAR необходимы для запуска Primefaces Mobile - PullRequest
0 голосов
/ 22 ноября 2011

What i gotExpected Я хочу создать форму, используя Primefaces Mobile с jsf2.0 и primefaces-3.0.M2, но после развертывания на сервере jboss и запуска его в браузере (на рабочем столе) внешний видтак здорово.Я скучаю по некоторым файлам jar ??Также есть ли эмулятор, где я могу проверить и запустить мобильные веб-страницы.Я использую пример витрины в http://www.primefaces.org/showcase-labs/mobile/index.jsf

Ответы [ 2 ]

1 голос
/ 18 апреля 2012

Если ваше мобильное устройство / никакие мобильные приложения не разделены, вам необходимо вставить в файл Face-config.xml следующую строку

<application>
    <default-render-kit-id>PRIMEFACES_MOBILE</default-render-kit-id>
</application>

, если ваше мобильное устройство / никакие мобильные представления не находятся в том же приложении, которое у вас есть

написать обработчик представления путем переопределения API CalculayRenderKitId и решить, когда отображать страницу в мобильном режиме.Этот подход рекомендуется, если ваши мобильные и немобильные страницы находятся в одном приложении, и вам нужно переключать рендер-комплекты на лету (из документации Primefaces Mobile).

Здесь простой класс ViewHandler, который используетфункциональность Spring Mobile для переключения между мобильными и немобильными страницами.

import javax.faces.application.ViewHandler;
import javax.faces.application.ViewHandlerWrapper;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import org.springframework.mobile.device.Device;
import org.springframework.mobile.device.DeviceUtils;
import org.springframework.mobile.device.site.SitePreference;
import org.springframework.mobile.device.site.SitePreferenceUtils;

/**
 * @author <a href="mailto:gesuino.napoli">Gesuino Napoli</a>
 *
 */
public class MobileViewHandler extends ViewHandlerWrapper {

    private ViewHandler wrapped;

    public MobileViewHandler(ViewHandler wrapped) {
    this.wrapped = wrapped;
    }

    @Override
    public ViewHandler getWrapped() {
        return this.wrapped;
    }

    @Override
    public String calculateRenderKitId(FacesContext context) {
        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        Device device = DeviceUtils.getRequiredCurrentDevice(request);
        SitePreference sitePreference = SitePreferenceUtils.getCurrentSitePreference(request);
        if (device.isMobile() || sitePreference == SitePreference.MOBILE) {
            return "PRIMEFACES_MOBILE";
        }
        return this.wrapped.calculateRenderKitId(context);
    }
}

Затем зарегистрируйте ViewHandler в face-config.xml

<application>
        <!-- <default-render-kit-id>PRIMEFACES_MOBILE</default-render-kit-id> -->
        <view-handler>com.acme.myproject.web.util.viewhandler.MobileViewHandler</view-handler>
....
</application>

Если вы хотите протестировать свое приложениеС помощью эмулятора Android вы можете скачать и установить SDK-Android

  1. Установить Android SDK
  2. Установить плагин ADT Eclipse
  3. Создать виртуальное устройство Android (AVD)

Чтобы сделать это, перейдите по этой ссылке: http://developer.android.com/sdk/index.html.

Затем перейдите к этой статье "Получение эмулятора Android для чтения виртуальных хостов на компьютере разработчика" - http://dillieodigital.wordpress.com/2012/03/19/soup-to-nuts-getting-your-android-emulator-to-read-virtual-hosts-on-your-development-machine/

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

Во-первых, все, что вам нужно, это jar-файл Primefaces, но, поскольку версия M4 вышла, вы должны обновить свой путь к классу (будьте осторожны, если вы используете Netbeans , библиотека удаляет егонемного небрежно, дважды проверьте, что у вас есть только одна библиотека-M4 в папке lib).

Кроме того, пожалуйста, опубликуйте свой код здесь и будьте осторожны, чтобы использовать новые пространства имен:

xmlns:p="http://primefaces.org/ui"
xmlns:pm="http://primefaces.org/mobile"
...