【问题标题】:what are the jar files required for running primefaces mobile运行primefaces mobile需要哪些jar文件
【发布时间】:2011-11-22 13:40:12
【问题描述】:

我想用带有jsf2.0和primefaces-3.0.M2的Primefaces Mobile制作一个表格,但是在jboss服务器中部署并在浏览器(桌面)上运行后,外观和感觉不是很好。我错过了一些jar文件吗?还有任何模拟器可以让我检查和运行移动网页。我正在使用http://www.primefaces.org/showcase-labs/mobile/index.jsf的展示示例

【问题讨论】:

  • PrimeFaces Mobile 0.9 的第一个正式版本将于 11 月 23 日连同它的用户指南一起发布。它只需要 primefaces-mobile.jar 和 primefaces.jar(现在是 RC1-SNAPSHOT)。移动现在是一个单独的项目。

标签: jsf-2 primefaces


【解决方案1】:

如果您的移动/非移动应用程序是分开的,您必须在 faces-config.xml 中插入以下行

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

如果您的移动/非移动视图在同一个应用程序中,您必须

通过重写 calculateRenderKitId API 编写一个视图处理程序并决定 何时在移动模式下显示页面。建议使用这种方法,如果 您的移动和非移动页面在同一个应用程序中,您需要 即时切换渲染套件(来自 Primefaces 移动文档)。

这里是一个简单的 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 注册到 faces-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/

【讨论】:

    【解决方案2】:

    首先,您只需要 Primefaces jar,但由于 M4 版本已经发布,您应该更新您的类路径(请注意,如果您使用 Netbeans,该库删除它有点草率,请仔细检查lib 文件夹中是否只有一个库-M4)。

    另外,请在此处发布您的代码,并小心使用新的命名空间:

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

    【讨论】:

      猜你喜欢
      • 2018-03-24
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 2018-07-26
      • 2017-10-28
      相关资源
      最近更新 更多