问题标签 [mojarra]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Eclipse Indigo 上配置 JSF 2.0 的问题
我正在 IDE Eclipse Indigo(最新版本)上使用 JSF 2.0 开发 Web 应用程序。
但是在Project ->Properties -> Project Facets上,选项JavaServer Faces在版本 1.2 上配置,当我尝试将版本更改为 2.0 时,出现一条错误消息
无法将项目方面 JavaServer Faces 的版本更改为 2.0。
奇怪的是,我项目中的JSF库都是2.0版本。
我认为这是导致我的页面不显示简单的 xhtml 标签(如<h:outputLabel>
和)的问题<h:inputText>
。
我正在使用的 JSF 库是在 Mojarra 项目 2.0.6 上获得的
希望有人可以帮助我提前谢谢
jsf-2 - 如何在操作方法完成之前提交响应
<h:commandLink/>
调用 JSF 标记的操作方法时显示以下错误消息:
错误消息的含义非常简单,但我的问题是如何在操作方法完成执行之前提交响应。
(此错误只是不时发生,而不是每次单击 commandLink 时。)
编辑:我在下面附上一些代码,如果这有助于获得解决方案:
标记:
动作方法:
java - Google App Engine 上的 JSF - java.lang.NoSuchFieldError: FaceletCache
使用 GAE 1.5.5 和 Mojarra 2.0.6 FCS,我在启动日志中看到以下消息。
Mojarra 2.0.4 也会出现这种情况,这是文章配置 JavaServer Faces 2.0 以使用 Eclipse 在 Google App Engine 上运行中给出的版本。
该项目只是一个基本的 JSF 应用程序,其中包含链接文章中的 web.xml。
这是一个已知问题吗?我还将把它发布在 Google App Engine / Java 论坛上。
jsf - h:selectOneMenu required="true" 在验证失败时恢复为 bean 值
我在创建/编辑表单上有这样的东西:
在创建新对象的情况下,required
验证按预期工作。
在编辑对象的情况下,如果我将有效值更改为占位符“-- 选择--”,我会收到验证失败 w/预期的 requiredMessage,因为 itemValue 是空白(“”);但是,HTML<select>
将恢复为已从 bean 中选择的任何选项,而不是保留来自表单提交的无效用户输入。
重申一下,required=true
onh:selectOneMenu
本身可以正常工作,生成预期的消息 - 唯一错误的是值恢复为 bean 值,而不是保留空白提交值。(我通过 Chrome 开发人员工具栏确认确实为 POST 发布了一个空字符串<select>
。)
为什么会这样?更准确地说,为什么h:selectOneMenu
不表现得像h:inputText
UIInput 显示来自表单的无效用户输入,并且不从 bean 刷新其值?这两个控件都扩展了相同的 UIInput 基类并实现了 EditableValueHolder,因此我希望它们的生命周期表现相同。
另外,澄清一下,我在 web.xml 中的任何地方都没有INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL
上下文参数。
这是 Mojarra 2.1.3 / Glassfish 3.1.1 上的 JSF 应用程序。
jsf - JSF UIComponent 绑定、可序列化和视图范围
我有一个实现的视图范围 bean Serializable
,以及一个UIComponent
通过绑定传入的 bean。
UIComponent
不可序列化,因此会破坏会话恢复 。
这里的最佳做法是什么?
我应该将 UIComponents 标记为transient
吗?或者将 binding= 用于除请求范围的 bean 之外的任何东西是不好的做法?
我正在使用 Glassfish 3.1.1、Mojarra 2.1.3 和 PrimeFaces 2.2。
ajax - ui:repeat - 从列表中添加/删除元素无法正常工作
我的 .xhtml 文件中有以下代码
当页面被渲染时。并且用户单击 addSchedule 链接我希望 ui repeat 将添加新的 div class="term" 空值绑定到输入,因为:
我正在将带有 null 价格附加信息和日期的新课程对象添加到 ui:repeat 使用的列表中。
相反,我得到了新的
部分与从先前条目复制的值。
当我从列表中删除元素时(在 managedBean 中,列表中的正确对象被删除)我看到刚刚删除的对象中的数据:/
有人遇到过这种问题吗?你有什么建议吗?
java - javax.faces.bean 包的真正来源是什么?
我只是在学习 JSF、RichFaces 和 Maven。我发现了奇怪的事情: javax.faces.bean
包仅在http://javaserverfaces.java.net提供的分发中退出。
它在 Maven 存储库http://mvnrepository.com/artifact/com.sun.faces/jsf-impl/2.1.4中不存在。
看起来如果我尝试构建richfaces-4.0.0.Final\examples\richfaces-showcase 也不会被检索到。
目前我只成功使用了richfaces的日历,因为它不使用bean。但问题不在于如何成功运行所有展示。问题是如何以适当的方式制作它,即javax.faces.bean
通过 maven 和公共 maven 存储库检索包。
我想知道maven不应该解决那种问题吗?在这种特殊情况下,谁应对混乱负责?
java - f:ajax 监听器在渲染后执行?
考虑以下jsf:
正如我从文档中收集到的,f:ajax 标记中的“监听器”应该在部分视图“:current”被重新渲染之前执行。这是基于:
- docs.oracle.com/javaee/6/tutorial/doc/gkace.html :在生命周期的 Invoke Application 阶段调用一次监听器的 processAjaxBehavior 方法
- javaserverfaces.java.net/nonav/docs/2.0/pdldocs/facelets/ :将参与请求处理生命周期的“渲染”部分的组件的标识符
- www.ibm.com/developerworks/library/j-jsf2/:渲染确实在调用之后......
方法“#{taskManager.stopCurrentAtSpecified}”将在给定时间停止任务并将其设置为“null”,这意味着重新渲染评估“#{taskManager.currentTask!= null}”不再为真,因此网格面板应该消失。不是这种情况。该任务确实已停止,但重新渲染的视图仍显示旧任务。刷新整个页面将正确呈现它。
此外,我玩弄了“#{taskManager.changeStart}”,它会将“#{taskManager.currentStop}”更新为一个非常大的日期,因此您会怀疑是否执行了侦听器并在之后执行了渲染,日历会反映这个大日期,它不会。
我发现有人有类似的问题,但他的问题没有得到解答:f:ajax with listener and render
我正在使用 Mojarra 2.1.2
jsf-2 - 带有 h:commandLink 的 JSF 2 自定义组件在 ui:repeat 中
我开发了一个自定义组件(受 BalusC 的这篇文章的启发),其中包含一个显示可点击表格页面列表的标签。
在循环块内有一个异步调用一个动作,发布一个参数。参数值在每个循环中都会发生变化。这是页面代码:ui:repeat
h:commandLink
现在,cc.attrs.pager
组件属性注意到视图范围的支持 bean,其pages
和currentPage
属性通过 getter 可见,changePage
方法是要调用的操作。cc.attrs.render
组件属性是每次动作执行后要刷新的目标。这是相关的bean代码:
初始渲染是完美的:所有页面链接都正确显示,当前页码未链接,如所愿。问题显示转到另一个页面:没有任何反应。
尽管h:commandLink
使用确切的循环参数值发布操作,但响应始终返回相同的页面(第一个页面)。调试它,我观察到执行没有进入这两种changePage
方法中的任何一种。我不确定这个问题是否与 相关ui:repeat
,但忽略它,我可以说相同的机制确实适用于其他目的。
有什么建议吗?
jsf - 这是 Primefaces 错误还是 Mojarra/MyFaces 错误
column
当我在中时,我似乎无法触发事件dataTable
。这是我的简单演示
这是我的托管豆
我的问题似乎是事件没有被触发,这意味着delete
永远不会被调用。
我环顾四周,知道 Mojarra 在嵌套 UIData 组件方面有很多问题,所以我尝试了 Mojarra 2.1.4,仍然没有解决问题。我试过Myfaces 2.1.5,还是不行!!!这是 Primefaces 的错误吗?我什h:panelGroup
至用作包装器,update
但它仍然不起作用。
编辑:事实证明,p:tree
上面的dataTable
是单击 时未触发事件的根本原因commandButton
。如果我删除p:tree
它,它会立即工作。请注意p:tree
,当我单击结帐时,它本身工作得很好,在我的托管 bean 上触发了事件。