Tag: jsf

JSF和自动重载xhtml文件

我使用JRebel,Spring,JSF Mojarra 2.0.3和WebLogic 10.3热重新加载XHTML文件时遇到了一些问题。 JRebel成功地在/ WebContent下重新加载常规Java类和js / css文件,而不是JSF的.xhtml文件。 需要完整的重新发布才能在服务器上更新xhtml文件。 通过反复试验,我终于通过向web.xml添加一些facelets参数并创建自定义ResourceResolver来实现它,如本博客文章中所述 。 但是,我想知道为什么这有效,更具体地说: 为什么需要自定义ResourceResolver? 是不是JRebel应该通过监视xhtml文件所在的/ WebContent来处理这个问题? 我猜它与Facelets / JSF通过FacesServlet编译xhtml到servlets(?)有什么关系,JRebel无法检测到它?

在war存档中读取文本文件

我正在尝试从我的war存档中读取文本文件,并在运行时在facelets页面中显示内容。 我的文件夹结构如下 + war archive> + resources> + email> + file.txt 我尝试使用以下代码读取resources / email / file.txt文件夹中的文件 File file = new File(“/resources/email/file.txt”); BufferedReader reader = null; try { reader = new BufferedReader(new FileReader(file)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } StringBuffer buffer = new StringBuffer(); if (reader != null) { String […]

如何在Web应用程序中重新加载资源包?

我有资源包作为Java类从数据库中读取值。 当我更新数据库我需要重新加载包,但我不知道如何。 有人帮忙吗? package model.helpers; public class Messages_en extends ListResourceBundle { protected Object[][] getContents() { // from DB // … } } 在视图中我使用bundle如下:

在主表DataTable中显示Hashmap键和值

我正在尝试在DataTable中显示Hashmap,这是我正在尝试做的:我将有一些产品的选择菜单,数量的输入文本,添加产品的“ajaxified”添加按钮它的数量到地图,以及一个提交按钮,显示一个包含DataTable的摘要对话框,其中包含两列:Product Name和Quantitiy。 我的Hashmap是 Map myMap = new HashMap(); 对于ajaxified按钮和所有这些第一步,他们正在为我工​​作,我已经设置了所有内容并且地图正确地填充了剩下的所有数据。 提前致谢。

PrimeFaces日历接受无效日期作为输入

我遇到的问题是PrimesFaces 3.4.1日历。 当使用通过按钮或输入字段焦点激活的弹出日期选择器时,您只能选择工作正常,快乐的日子的有效日期! 当您手动将日期添加到输入字段时,如果您添加一个无效的日期,PrimeFaces日历组件将其转换为有效日期然后发送它,这意味着后端validation是不行的。 以下一些有趣的翻译: 30/02/2012成为2/6/2014 322/05/2012成为5/10/2038 2012年1月14日成为2012年4月1日 要重现这种疯狂,请看看PrimeFaces日历展示 。 我已经看到使用readOnlyInput=’true’属性的解决方案,但这似乎只是防止在字段中输入字母而不是数字或斜杠。 以下是我实施的日历的一个实例: 解决方案明智我对任何建议持开放态度: 这是PrimeFaces中的常见问题吗? 有没有我可以用来解决它的技巧? 我可以使用JavaScript在发送之前validation日期还是完全阻止所有用户输入? 还有别的我还没有想到的! 在此先感谢,这已经引起了我好几周的问题!

我可以使用Spring Security管理多个浏览器选项卡吗?

我想知道,使用Spring Security,我可以validation用户会话,只允许打开一个浏览器选项卡。 可能吗? 我还想知道我是否可以这样做,当用户关闭选项卡并在会话结束之前再次打开它会直接应用程序SessionFilter,而无需进入登录屏幕。 我正在使用JSF 1.2,RichFaces 3.3.3,Hibernate和co … 细节:我知道spring的安全,我只是在研究它。 现在,谢谢,请原谅我糟糕的英语。 再见!

如何将JSF页面呈现时间和响应大小插入页面本身,至少部分?

我意识到这是一个鸡和蛋的问题,并且不可能准确地解决呈现页面所花费的时间(或响应的大小)并将该数字插入页面本身而不影响任何一个度量。 不过,我正在寻找一种方法来将一个数字部分插入JSF / Facelets / Seam应用程序的页面中。 例如,在某个地方的.jsf页面的底部: 我遇到过JSFUnit的JSFTimer ,非常方便。 但是,相位侦听器方法不允许将RENDER_RESPONSE阶段的结果插入到页面中。 不知道如何访问到目前为止编码的响应的大小。 在RENDER_RESPONSE结束时或之后是否有一种快速而肮脏的方式来连接某种后处理事件并将这两个数字注入到即将呈现的页面中? 接近这个的一种方法可能是通过servletfilter,但我正在寻找更简单的东西; 也许是Seam或Facelets的一招 谢谢, -一个

为什么不对JSF页面进行预编译(至少部分),而是在每次构建视图时进行解析,评估?

我不知道它是否真实,但据我所知,我相信,JSF EL和xhtml页面不是预编译的,只是在需要时使用,而是每次查看时都会对它们进行解析,评估和编译建成。 我不明白为什么这样做! 为什么不只是解析和编译它一次,好吧至少部分,渲染一些组件可能依赖于动态获取的变量,因此它们可能会在稍后呈现,但为什么延迟页面上的所有组件? 无论最大值可以预先编译并准备好使用,为什么不在部署应用程序时执行此操作? 这不会改善页面的渲染时间吗?

在JSF 2.0中使用@ViewScoped?

如何在JSF 2.0中使用@ViewScoped在@ManagedBean下面的优势

在JSF 2的AjaxBehaviorEvent中捕获KeyCode

我有一个JSF ajax keyup事件链接到支持bean中的事件列表器。 JSF文件中的代码如下所示。 支持bean中的代码如下所示。 public void changeDetailsEvent(AjaxBehaviorEvent event) { } 我希望根据按键实现不同的逻辑,如下所示为伪代码。 public void changeDetailsEvent(AjaxBehaviorEvent event) { If (event.key = Key.enter) { do something; } else if (event.key = Key.Escape) { so something else; } else { do nothing; } } 有人可以告诉我这是如何在支持bean中完成的吗?