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

小说阅读网站建设市场需求分析在线制作头像带字

小说阅读网站建设市场需求分析,在线制作头像带字,网页设计与制作ppt课件,设计上海2023展会时间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://wiki.neutronadmin.com/news/295383/

相关文章:

  • 昌平网站制作app开发费用标准
  • 网站建设 保定施工企业信用评价
  • 南昌门户网站建设h5 网站模板
  • 佛山营销型网站设计国外服务器网站打开慢
  • 做一个网站的价钱百度热门
  • 淮安建设企业网站国外h5网站模板下载
  • 网站建设方案书是啥比较好的网站建设品牌升级
  • 晟合建设集团网站aspnet网站开发书
  • 天津市建设交易中心网站婚纱设计网站首页
  • 新北区城乡建设局网站wordpress 头像打岔
  • 旅行社网站建设规划方案seo博客网站
  • 做app网站的软件有哪些内容医院网站建设运营方案
  • 建设局域网网站部队内网网站建设方案
  • wordpress 只有英文百度seo流量
  • 绍兴网站建设专业的公司个人网页制作总结
  • 电子商务网站规划与网页制作wap版
  • 网站安全软件宁波seo优化
  • 建立网站赚钱商城网站开发报价单
  • 苏州做物流网站电话广告
  • c2c网站方案网站怎么防k
  • 做一些网站的弹出页面做网站的公司是什么
  • 网站开发技能证书福州网签查询系统
  • 南通的网站建设广告推广赚钱
  • 青岛胶东建设国际机场网站专业网络推广平台
  • 做笔记网站网站中常用的英文字体
  • 深圳网站建设服务器玉石电商网站建设方案
  • 邢台建站mvc做的网站如何发布访问
  • 温州网站优化关键词网站建设捌金手指花总四
  • 网站后台不显示可以做网站二维码吗
  • 保定网站建设团队ppt排版布局