介绍一个电影的网站模板/广告联盟接单平台

介绍一个电影的网站模板,广告联盟接单平台,阿里网站导航怎么做的,石家庄市建设工程信息网primefaces介绍 如果您已经开发了利用PrimeFaces的应用程序,或者打算开发可在台式机和移动设备上使用的Web应用程序,请考虑将PrimeFaces Mobile用于您的移动实施。 这篇博客文章将介绍一些基础知识,以帮助您开始为现有的PrimeFaces应用程序开…

primefaces

介绍

如果您已经开发了利用PrimeFaces的应用程序,或者打算开发可在台式机和移动设备上使用的Web应用程序,请考虑将PrimeFaces Mobile用于您的移动实施。 这篇博客文章将介绍一些基础知识,以帮助您开始为现有的PrimeFaces应用程序开发移动界面。 但是,可以将相同的过程应用于从头开始编写的应用程序。 本文是我目前为OTN写的一篇文章的前一篇,它将更详细地介绍PrimeFaces Mobile API。 该文章将于今年晚些时候发表。

掌握移动思维

移动项目中最重要的部分之一就是进入移动思维模式。 虽然您可以在标准的Web应用程序上使用一些组件,但这些组件在转移到较小的屏幕时可能无法提供最佳的体验。 因此,您需要考虑用户如何在小屏幕上与应用程序进行交互,并为他们提供最方便的用户界面。 需要考虑的一些事情是您希望用户输入的文本量。 如果它们是在小型设备上,则键入大量文本可能很麻烦,因此我们希望为他们提供易于使用的组件,使其尽可能少地键入,甚至可以从列表中进行选择。 我们还需要考虑房地产(不是房地产市场)。 如果用户没有足够的屏幕轻松浏览应用程序,则将菜单添加到屏幕顶部或底部可能对用户没有好处。

这些只是为移动设备开发应用程序时出现的几个问题。 PrimeFaces Mobile基于领先的基于HTML5的移动UI框架之一,因此非常适合在这些领域提供帮助。 PrimeFaces Mobile由许多UI组件组成,可以使用户在移动设备上高效工作。 如果您看一下PrimeFaces展示柜,则可以看到其中许多移动组件正在运行。 这使您可以了解这些组件的外观以及它们对用户的React。 建议您在智能手机或平板电脑等移动设备上访问PrimeFaces移动展示柜,以最好地了解它们的React。

创建移动根

现在,您已经对一些移动设计概念有了基本的了解,让我们看一下开始使用PrimeFaces mobile创建移动视图有多么容易。 在PrimeFaces 5之前,移动版是单独下载的,需要包含在您的项目中。 现在,PrimeFaces Mobile已打包为PrimeFaces 5的一部分,比以往任何时候都更容易进行。这使得在PrimeFaces上为标准浏览器构建企业Web应用程序变得容易,然后为移动设备构建单独的视图,通常每种方法都使用相同的后端业务方法。 我建议创建一个专用于移动设备用户的起点或“根”视图。 我还建议根据需要创建一个单独的MobileNavigationController类来处理整个移动视图中的导航。 我们可以利用移动根视图来设置钩子,以使用MobileNavigationController与标准Web应用程序导航。

出于本文的目的,我们简单地将其移动根称为mobileRoot.xhtml。 在这种情况下,mobleRoot.xhtml可能类似于以下内容:

<html xmlns:f="http://xmlns.jcp.org/jsf/core"xmlns:h="http://xmlns.jcp.org/jsf/html"xmlns:p="http://primefaces.org/ui"xmlns:ui="http://xmlns.jcp.org/jsf/facelets"xmlns="http://www.w3.org/1999/xhtml"><f:metadata><f:viewaction action="#{mobileNavigationController.doMobile()}" id="useMobile"></f:viewaction></f:metadata><h:head><h:outputscript library="js" name="addtohomescreen.js"><h:outputstylesheet library="css" name="addtohomescreen.css"><script>addToHomescreen();</script></h:outputstylesheet></h:outputscript></h:head><h:body></h:body>
</html>

在上面的视图中,使用JSF viewAction初始化MobileNavigationController doMobile()方法,该方法将移动UI设置为运动状态。 从这一点出发,导航可以将用户带到应用程序的主要移动视图,并且还可以设置任何其他必要的配置。 还可以使用addtohomescreen.js脚本( http://cubiq.org/add-to-home-screen )提供一个漂亮的按钮,以推荐移动设备用户将移动应用程序添加到其主屏幕,以获得更丰富的体验。 我将在以后的文章或即将发表的OTN文章中介绍全屏Web应用程序的一些其他自定义配置。

创建一个简单的移动视图

为用户提供访问移动视图的清晰路径后,我们需要确保使用PrimeFaces移动渲染工具包显示移动视图。 要标记视图与PrimeFaces Mobile一起使用,请在视图的<f:view>标记中提供“ renderKitId”属性,并将PRIMEFACES_MOBILE用作该值。

<f:view renderKitId="PRIMEFACES_MOBILE">

建立PrimeFaces Mobile视图的另一个要求是添加移动名称空间(xmlns:pm =“ http://primefaces.org/mobile”),因为它将用于每个PrimeFaces Mobile特定组件。 包括JSF直通(xmlns:pt =“ http://xmlns.jcp.org/jsf/passthrough”)命名空间也是一个好主意,因为我们可能希望利用某些HTML5特定的功能。

移动页面由页眉,内容和页脚组成。 每个移动页面都包含在<pm:page>标记内。 移动视图可以包含在<pm:page>中的单个页面或多个页面,每个页面都有自己的标识符。 在此示例中,我们将创建两个构成两个移动页面的视图,第二个页面可通过第一个页面上的链接访问。 可以使用Facelets模板来构建整个移动应用程序解决方案,但是在此示例中,我们将分别创建每个视图。 也可以使用当前非常流行的“单页”应用程序策略进行开发……我们将在OTN文章中介绍更多内容。

这篇文章中的PrimeFaces Mobile示例以及即将发布的OTN文章都基于我在OTN的“企业PrimeFaces”文章中使用的Acme Pools示例( http://www.oracle.com/technetwork/articles/java/ java-primefaces-2191907.html )。 在完整的Web版本中,根视图在表视图中包含Acme Pool客户列表(图1)。 我们希望转换此视图(和其他视图)以在移动设备上更好地工作,并允许选择每一行,这将使我们获得有关所选客户的更多信息。

图1:标准Acme池视图

图1:标准Acme池视图

就本文而言,我们将使用初始客户视图将其转换为移动视图。 该视图将包含客户列表,并且如果您在视图中选择特定行,则将显示有关所选客户的更多信息。 要使用PrimeFaces移动版显示表,您必须使用DataList组件,该组件为每行数据提供方便的“可单击”链接或按钮。 DataList与DataTable的不同之处在于,DataList中没有任何列,但是每一行数据都有一组相关数据。 数据组应使用可单击的链接包装,然后将为用户提供导航到第二个视图,以显示有关所选项目的更多详细信息。 以下代码用于开发客户数据列表的移动UI。

清单1:移动视图(mobile / index.xhtml)

<html xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"xmlns:p="http://primefaces.org/ui"xmlns:f="http://xmlns.jcp.org/jsf/core"xmlns:pm="http://primefaces.org/mobile"xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"><f:view renderKitId="PRIMEFACES_MOBILE"><h:head></h:head><h:body><pm:page id="customerListing"><pm:header>Acme Pools</pm:header><pm:content><h:form id="indexForm"><p:panel header="Acme Pools Customer Listing"><p:dataList id="datalist"value="#{customerController.items}"var="item"    paginator="true"pt:data-role="listview" pt:data-filter="true"rows="10"rowsPerPageTemplate="10,20,30,40,50"><p:commandLinkaction="#{customerController.loadCustomer}"><f:param name="customer" value="#{item.customerId}"/><h:panelGroup><h:outputText value="#{item.customerId} - #{item.name}"/><br/><h:outputText value="#{item.email}"/></h:panelGroup></p:commandLink></p:dataList></p:panel></h:form></pm:content><pm:footer>Author: Josh Juneau</pm:footer></pm:page></h:body></f:view>
</html>

如您所见,我们通过<f:view>标记中的规范来标记PrimeFaces Mobile使用的视图。 然后,我们创建一个<pm:page>,并且在页面内部有<pm:header>,<pm:content>和<pm:footer>的部分。 主要内容包括一个显示客户数据的PrimeFaces移动数据列表,该数据包装在ap:commandLink组件中。 单击链接后,将调用#{customerController.loadCustomer}方法,并传递所选客户的ID。 请注意,DataList组件使用直通属性来指定data-role和data-filter HTML5属性。 这些用于为用户提供更丰富的体验。 筛选器使用户可以轻松地开始在筛选器文本框中键入值,并缩短列表以仅包含包含键入文本的记录。 结果视图如图2所示。

图2:移动视图

图2:移动视图

清单2中的代码包含loadCustomer()的实现。 客户ID传递到EJB的find()方法,然后返回选定的客户数据。

清单2:CustomerController loadCustomer()

public String loadCustomer() {Map requestMap = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();String customer = (String) requestMap.get("customer");selected = ejbFacade.find(Integer.valueOf(customer));return "customerInfo";}

在DataList中选择一个客户时,将调用loadCustomer()方法,并导航到第二个移动视图customerInfo.xhtml(图3)。 第二个移动视图基本上显示了客户详细信息,并提供了一个链接,可返回到客户的数据列表。 customerInfo的代码如清单3所示。

清单3:customerInfo.xhtml视图

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"xmlns:h="http://xmlns.jcp.org/jsf/html"xmlns:p="http://primefaces.org/ui"xmlns:f="http://xmlns.jcp.org/jsf/core"xmlns:pm="http://primefaces.org/mobile"><f:view renderKitId="PRIMEFACES_MOBILE"><h:head></h:head><h:body><pm:page id="customerInfo"><pm:header>Acme Pools</pm:header><pm:content><h:form><p:panel header="Acme Pools Customer Information">#{customerController.selected.name}<br/>#{customerController.selected.addressline1}<br/>#{customerController.selected.addressline2}<br/>#{customerController.selected.phone}</p:panel><p:commandLink action="index?transition=slide" value="Go Back"/></h:form></pm:content><pm:footer>Author: Josh Juneau</pm:footer></pm:page></h:body></f:view>
</html>

如您所见,customerInfo视图包含与原始移动视图相同的结构。 没有添加特殊的移动组件,但是从图3中可以看到,标准的PrimeFaces面板的样式设计为可以在移动设备上很好地显示。

图3:移动视图选择

图3:移动视图选择

结论

总结一下使用PrimeFaces移动版的简要信息。 如您所见,很容易为您的应用程序开发一个移动界面。 PrimeFaces移动套件还包括用于导航,事件等的自定义框架,可轻松提供出色的移动体验。 例如,事件框架包括一些滑动事件以及Taphold。 甚至有可能挂钩到JQuery Mobile框架,以向您的应用程序提供更多移动事件。

PrimeFaces移动导航框架由过渡组成,最终可为您的应用程序提供更流畅的感觉。 例如,可以提供“幻灯片”到按钮导航的过渡,这将导致UI视图在单击按钮时滑入焦点。 所有这些都可以使用PrimeFaces Showcase进行测试。

有关PrimeFaces移动设备的这些和其他重要功能的更多信息,请关注我即将发表的OTN文章。

资源资源

  • PrimeFaces展示柜: http : //www.primefaces.org/showcase/mobile/
  • jQuery Mobile: http : //jquerymobile.com/

翻译自: https://www.javacodegeeks.com/2014/11/getting-started-with-primefaces-mobile.html

primefaces

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/338993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言指针这些使用技巧值得收藏!

指针用的好犹如神助&#xff0c;用不好会让你叫苦连连&#xff0c;但大多数人是用不好指针的&#xff0c;所以后来的很多语言都把指针封装&#xff0c;屏蔽。比如JAVA&#xff0c;java是没有指针的&#xff0c;但是很多地方都用到指针&#xff0c;不过不对用户开放&#xff0c;…

mysql数据库中的int类型_MySQL中int(M)和tinyint(M)数值类型中M值的意义

在一开始接触MySQL数据库时&#xff0c;对于int(M)及tinyint(M)两者数值类型后面的M值理解是最多能够插入数据库中的值不能大于M&#xff1b;后来工作后&#xff0c;也是一边学习一边使用&#xff0c;之后的理解是其中的M的意思是插入数据库中的值的字符长度不能大于M&#xff…

api怎么写_使用Node.js原生API写一个web服务器

Node.js是JavaScript基础上发展起来的语言&#xff0c;所以前端开发者应该天生就会一点。一般我们会用它来做CLI工具或者Web服务器&#xff0c;做Web服务器也有很多成熟的框架&#xff0c;比如Express和Koa。但是Express和Koa都是对Node.js原生API的封装&#xff0c;所以其实不…

C语言预处理命令分类和工作原理

C语言编程过程中&#xff0c;经常会用到如 #include、#define 等指令&#xff0c;这些标识开头的指令被称为预处理指令&#xff0c;预处理指令由预处理程序&#xff08;预处理器&#xff09;操作。相比其他编程语言&#xff0c;C/C 语言更依赖预处理器&#xff0c;故在阅读或开…

查看mysql用户权限_mysql 如何查看该数据库用户具有哪些权限?

展开全部背景在了解动态权限之前&#xff0c;我们先回顾下 MySQL 的权限列表。权限列表大体分为服务级别和表级别&#xff0c;列级别以32313133353236313431303231363533e59b9ee7ad9431333433633464及大而广的角色(也是MySQL 8.0 新增)存储程序等权限。我们看到有一个特殊的 SU…

注释嵌套注释_注释,无处不在的注释

注释嵌套注释十年前的2004年 &#xff0c; Java 1.5开始提供注释。 很难想象没有此功能的代码。 实际上&#xff0c;首先引入了注释&#xff0c;以减轻开发人员编写繁琐的样板代码的痛苦&#xff0c;并使代码更具可读性。 考虑一下J2EE 1.4&#xff08;没有可用的注释&#xff…

a标签跳到另一个页面指定选项卡_HTML常用标签

本篇文章主要是对a、img和table标签用法介绍&#xff1a;a标签&#xff1a;可称为锚元素&#xff0c;主要功能是创建通向其他网页、文件、同一页面的其他位置、电子邮件地址或其他任何url地址的超链接&#xff1b;1.img标签&#xff1a;发出get请求并显示返回的图片1.常用属性&…

c语言也能用模板方法模式?

模式动机在嵌入式的应用场景中&#xff0c;管理资源(例如文件、内存)是一件非常麻烦、非常容易出错的事情。因为在分配资源后&#xff0c;还必须释放资源。例如fopen()打开文件后&#xff0c;必须要使用fclose()来关闭文件&#xff0c;而使用malloc申请内存资源后&#xff0c;就…

游戏 服务器 微服务_整体服务器与微服务

游戏 服务器 微服务介绍 刚开始时&#xff0c;由于要求简单&#xff0c;所以应用程序既简单又小。 随着时间的要求和需求的增长&#xff0c;我们的应用程序变得越来越大&#xff0c;越来越复杂。 这就导致了将单片服务器开发和部署为一个单元。 在某种程度上&#xff0c;微服务…

数据与ELF数据节-计算机系统基础题目

实验内容&#xff1a;修改二进制可重定位目标文件“phase1.o”的数据&#xff08;.data&#xff09;节内容&#xff08;不允许修改其他节&#xff09;&#xff0c;使其与main.o模块如下链接后运行时输出目标字符串“123456789”。 实验步骤&#xff1a; 1. 使用objdump工具获得…

sqlserver拼接sql插入table_10个SQL技巧

介 绍为了理解这 10 个 SQL 技巧的价值&#xff0c;首先需要了解下 SQL 语言的上下文。为什么我要在 Java 会议上讨论 SQL 呢&#xff1f;(我可能是唯一一个在 Java 会议上讨论 SQL 的了)下面讲下为什么&#xff1a;从早期开始&#xff0c;编程语言设计者就有这种的愿望&#x…

【C语言笔记】指定初始化器

C99增加了一个新特性&#xff1a;指定初始化器(designated initializer)。利用该特性可以初始化指定的数组元素&#xff0c;也可以初始化指定的结构体变量。本文主要分享&#xff1a;使用指定初始化器初始化数组。例如&#xff0c;只初始化数组中的最后一个元素。对于传统的C初…

java锁性能对比_提高Java的锁性能

java锁性能对比Plumbr是唯一可以通过解释应用程序性能数据来自动检测Java性能问题根本原因的解决方案。 几个月前&#xff0c;我们在Plumbr中引入了锁定线程检测之后&#xff0c;我们开始收到类似于“嘿&#xff0c;太好了&#xff0c;现在我知道是什么导致了性能问题&#xf…

binlog日志_MySQL三大日志binlog、redo log和undo log

点击蓝色“JavaKeeper”关注我哟加个“星标”&#xff0c;一起成长&#xff0c;做牛逼闪闪的技术人Keeper导读&#xff1a;日志是mysql数据库的重要组成部分&#xff0c;记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制…

C 语言精髓之变参函数

我们以 printf 这个 very 熟悉的函数为例&#xff0c;来分析一下变参函数。先看下 printf 函数的定义&#xff1a;int printf(const char *fmt, ...){ int i; int len; /* va_list 即 char * */va_list args;va_start(args, fmt); /* 内部使用了 va_arg() */len v…

lambda捕获this_非捕获Lambda的实例

lambda捕获this大约一个月前&#xff0c;我在Java 8的lambda表达式框架下总结了Brian Goetz的观点 。 目前&#xff0c;我正在研究有关默认方法的文章&#xff0c;令我惊讶的是&#xff0c;我又回到了Java处理lambda表达式的方式。 这两个功能的交集可能会产生微妙但令人惊讶的…

mysql8 安装_MySQL8.x安装使用

1.下载网址https://dev.mysql.com/downloads/mysql/下载要登录&#xff0c;可以使用Oracle账户登录2.安装MySQL服务下载好的解压到D:developer目录下配置MySQL(windows下是my.ini&#xff0c;Linux下是my.cnf)[mysql]# 设置mysql客户端默认字符集default-character-setutf8[mys…

从原理到方法,一文讲清如何应对C语言内存泄露!

可能不少开发者都遇到过内存泄漏导致的网上问题&#xff0c;具体表现为单板在现网运行数月以后&#xff0c;因为内存耗尽而导致单板复位现象。一方面&#xff0c;内存泄漏问题属于比较浅显的错误&#xff0c;此类问题遗漏到现网&#xff0c;影响不好&#xff1b;另一方面&#…

openshift_OpenShift上具有NetBeans的Java EE

openshift今天是慕尼黑的NetBeans日 。 我很高兴提出一个关于将Red Hat产品与我著名的IDE集成的会议。 因此&#xff0c;我一直在谈论WildFly &#xff0c; EAP &#xff0c;Git和OpenShift Online&#xff0c;并展示了使用该工具集优化开发工作流程的所有不同方式。 大约有10…

const char * 类型的实参与 char * 类型的形参不兼容_4 种 C++ 强制类型转换,你都清楚吗?...

我们先来回忆以下&#xff0c;C 语言的强制类型转换形式&#xff1a;(type) expr;这种旧式强制类型转换从表现形式上来说不够清晰明了&#xff0c;容易看漏&#xff0c;一旦转换过程出现问题&#xff0c;追踪起来也就更加困难。为了解决以上问题&#xff0c;C不仅兼容了C的强制…