运行primefaces mobile所需的jar文件是什么

时间:2011-11-22 13:40:13

标签: jsf-2 primefaces

What i got Expected我想使用Primefaces Mobile和jsf2.0以及primefaces-3.0.M2制作表格,但是在jboss服务器上部署并在浏览器(桌面)上运行后,看起来并且感觉不是那么好。我错过了一些jar文件?还有任何模拟器,我可以检查和运行移动网页。我在http://www.primefaces.org/showcase-labs/mobile/index.jsf

使用展示示例

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

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

如果您的移动/没有移动视图属于同一个应用程序

  

通过重写calculateRenderKitId API来编写一个viewhandler并决定   何时以移动模式显示页面。如果建议采用这种方法   您的移动和非移动页面在同一个应用程序中,您需要   即时切换渲染工具包(来自Primefaces Mobile Documentation)。

这是一个简单的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)
  4. 要执行此操作,请点击此链接: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/