当前位置: 首页 > news >正文

图片素材网站模板有电脑网站怎么做手机网站

图片素材网站模板,有电脑网站怎么做手机网站,WordPress模板邮票类,电子商务平台知识产权保护管理primefaces在这篇文章中#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表#xff0c;我们可以在页面中使用p#xff1a;chart /标签和一个简单的托管bean。 因此您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单我们将使用PrimeFaces 折线图。 对于这种图表我们可以在页面中使用pchart /标签和一个简单的托管bean。 因此在页面中我们可以有 p:chart idsomeChartId typelinemodel#{chartView.lineModel}styleheight:300px;width:600px;/ ChartView可以编写如下 Named ViewScoped public class ChartView implements Serializable {private LineChartModel lineModel;PostConstructpublic void init() {createLineModels();}private void createLineModels() {lineModel initLinearModel();lineModel.setTitle(Linear Chart);lineModel.setLegendPosition(e);lineModel.setZoom(true);Axis yAxis lineModel.getAxis(AxisType.Y);yAxis.setMin(0);yAxis.setMax(10);}private LineChartModel initLinearModel() {LineChartModel model new LineChartModel();LineChartSeries series1 new LineChartSeries();series1.setLabel(Series 1);Random rnd new Random();series1.set(rnd.nextInt(10), rnd.nextInt(10));series1.set(rnd.nextInt(10), rnd.nextInt(10));series1.set(rnd.nextInt(10), rnd.nextInt(10));series1.set(rnd.nextInt(10), rnd.nextInt(10));series1.set(rnd.nextInt(10), rnd.nextInt(10));LineChartSeries series2 new LineChartSeries();series2.setLabel(Series 2);series2.set(rnd.nextInt(10), rnd.nextInt(10));series2.set(rnd.nextInt(10), rnd.nextInt(10));series2.set(rnd.nextInt(10), rnd.nextInt(10));series2.set(rnd.nextInt(10), rnd.nextInt(10));model.addSeries(series1);model.addSeries(series2);return model;}public LineChartModel getLineModel() {return lineModel;} } 此代码将产生一个简单的折线图如下图 现在让我们假设在应用程序运行期间该图表会定期更新或重新创建我们将通过随机序列值和“ Refresh按钮对此进行模拟。 每次发生这种情况时我们都会丢失当前图表。 但是缓存如保存某些图表可能很有用并有可能稍后在当前会话对于属于某些用户的图表/应用程序对于所有用户通用的图表中加载它们。 为了完成此任务我们可以使用OmniFaces 缓存组件。 基本上此组件在OmniFaces Showcase和Mastering OmniFaces书中都有很好的描述但主要思想是 Cache组件通过以下方式向JSF页面作者公开 o:cache标记。 Cache为“渲染响应”阶段生成的标记实现了服务器端缓存机制。 Cache在“渲染响应”阶段执行操作。 缓存的标记存储在OmniFaces生成的密钥下或通过可选的o:cache密钥属性指示。 可以通过o:cache的可选禁用标志属性来禁用每个请求的o:cache 。 缓存的条目可以通过o:cache reset flag属性重新缓存。 默认情况下缓存的数据存储在会话范围内也支持应用程序范围。 每个示例从JSF页面作者的角度来看我们可以表明我们想在键foo下重新缓存一块标记如下所示 o:cache idcacheId keyfoo disabledfalse resettrue ... // the markup produced for this snippet of code will be cached /o:cache 显然在此示例中 disabled属性可以跳过因为那是其隐式值。 如果还跳过了key 则OmniFaces将生成一个。 如果跳过了reset 则不会重新缓存标记。 既然我们要必须决定哪些图表缓存和负载的可能性/删除某个图表从缓存中我们不能简单地做只有这个 o:cache idcacheId p:chart idsomeChartId typelinemodel#{chartView.lineModel}styleheight:300px;width:600px;/ /o:cache 基本上这将缓存第一个图表并且在每次回发时将从缓存中提供该图表。 因此一种快速的方法将包括以编程方式处理o:cache属性。 就像我上面说的 Cache在“渲染响应”阶段采取行动。 这意味着我们可以从我们的控制 ChartView bean在实际发生Cache之前是Cache组件。 此实现的核心在于以下private方法该方法允许我们以编程方式配置Cache组件 private void configureCache(String key, boolean disabled, boolean reset) {Cache cache Components.findComponent(cacheId);cache.setDisabled(disabled);cache.setReset(reset);cache.setKey(key); } 现在我们将添加一对一的控制缓存所需的UI。 首先我们添加一个标记为 刷新。 实际上每次我们按下此按钮时都会生成一个新图表新数据。 这是用于模拟图表更新。 h:commandButton action#{chartView.redrawAction()} valueRefresh/ redrawAction()确保新图表不被缓存因此缓存被禁用并且密钥不相关 public void redrawAction() {configureCache(none, true, false);createLineModels(); } 此外我们添加了一个名为Save的按钮。 按下此按钮后当前图表将缓存在key_ random-number类型的键下在实际情况下您可能希望允许用户提供该键作为图表标题。 该key将在代表已保存图表的列表中向用户显示 h:commandButton action#{chartView.saveChart()} valueSave/ saveChart()方法启用缓存并生成一个新密钥。 密钥存储在列表中 private ListString keys; ... public void saveChart() {String key key_ new Random().nextInt(1000);configureCache(key, false, true);keys.add(key); } 接下来我们列出缓存的键和一个标记为Load的按钮。 用户可以选择一个键然后单击 加载按钮以加载缓存的图表 h:selectOneMenu value#{chartView.selected}f:selectItem itemLabelSelect a chart ... noSelectionOptiontrue/f:selectItems value#{chartView.keys} vart itemLabel#{t} itemValue#{t}/ /h:selectOneMenuh:commandButton valueLoad Chart action#{chartView.loadChart()}disabled#{chartView.keys.size() eq 0}/ loadChart()是 public void loadChart() {if (selected ! null) {configureCache(selected, false, false);} } 最后我们添加一个标记为Delete的按钮该按钮将从缓存中删除所选图表 h:commandButton valueDelete Chart action#{chartView.deleteChart()}disabled#{chartView.keys.size() eq 0}/ | 并且 deleteChart()是 public void deleteChart() {if (selected ! null) {CacheFactory.getCache(Faces.getContext(), session).remove(selected);keys.remove(selected);configureCache(none, true, false); resetLineModels();} }private void resetLineModels(){ lineModel.getSeries().clear(); } 注意这里我们如何使用CacheFactory通过键从缓存中删除条目。 这是一个提示性屏幕截图 完整的应用程序可在此处获得 。 翻译自: https://www.javacodegeeks.com/2015/11/programmatically-caching-primefaces-charts-via-omnifaces-cache-component.htmlprimefaces
http://www.pierceye.com/news/883273/

相关文章:

  • 广西建设厅培训中心兰州seo网站排名
  • 布吉医院网站建设鞍山市网络销售平台
  • 开发一个网站系统报价wordpress文章摘要
  • 做脚本从网站引流外贸网站建设不可缺少的灵活性
  • 网站开发用linux好吗网站公司网站搭建
  • 网站数据库如何导入全自动引流推广软件app
  • 企业微网站案例响应式模板
  • 网站优化排名如何做网站纯色背景图怎么做
  • 医院网站设计方案长沙企业网站
  • 多页网站模板淘宝官网首页登录账号
  • 建设人员变更是哪个网站网络广告方案怎么写
  • 宠物网站 html模板长春城乡建设部网站首页
  • 电商网站设计线路图景县网站建设
  • 中级建设消防员证书查询网站昆明百度搜索排名优化
  • 网站广告是内容营销吗四川鸿业建设集团网站
  • 企业网站管理系统 aspwordpress幻灯片简码
  • 深圳建设银行官方网站上海搜索引擎优化1
  • 网站备案初审过了网络建站网网络推广
  • 网站在线制作平台搜狗提交入口网址
  • 西宁市建设网站价格低网页制作遮罩
  • 做海淘的网站做海淘的网站有哪些网站建设从零开始视频教程
  • 网站设计咨询电话收录提交大全
  • 内网建设网站聊城seo整站优化报价
  • 网站建设的可行性分析报告国际新闻最新消息2022今天
  • 网站后台上传图片做难吗?想要做个公司网站
  • 电商网站设计思维导图长春关键词推广
  • 站长工具综合查询官网wordpress置顶文章不生效
  • 手机网站 文件上传肥城网站建设公司
  • 网站开发怎么做到前后端网页设计实训报告格式
  • 军队 网站备案安卓手机软件开发平台