问题标签 [icefaces]

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.

0 投票
1 回答
2289 浏览

jsf - 带有 ICEfaces 组件的 JSF Web 应用程序

我尝试在 myeclipse 中运行一个程序,在创建一个 Web 项目后,我在程序中添加了 JSF 和 ICEFaces 功能。

现在在我启动它时配置 Jboss Web 服务器后,我发现了以下错误。

0 投票
1 回答
480 浏览

httprequest - 是否可以执行转发到新窗口?

我们正在使用 ICEFaces 1.8,我想转发到新的 URL,但希望它在新窗口中打开。我们目前能够执行重定向到新窗口,如下所示:

但是可以使用类似的方法进行前锋吗?

0 投票
1 回答
334 浏览

java - 为什么 IceFaces 似乎在吃我的 get 请求?

我有一个 IceFaces 页面,它由几个 Request 范围的 bean 提供支持。当我发出初始 GET 请求时,我通过 faces 上下文获取外部上下文获取 GET 参数并使用它在他们的@PostConstruct方法中初始化我的 bean。

但是,如果我尝试使用不同的 get 参数链接到同一页面,它似乎正在吃掉我的请求并将其视为回发。没有一个请求范围的 bean 超出范围(就像它们在回发时没有超出范围一样)并且新值被忽略。

如何让它将我的链接视为需要新请求范围 bean 的全新请求?

0 投票
1 回答
741 浏览

jsf - 国际化和本地化问题

我的应用程序支持国际化和本地化,每个用户都可以选择自己喜欢的语言,应用程序会完美地体现出来。问题是当第一个用户选择英语而第二个用户选择法语时,第一个用户的资源包将在刷新他的页面后从法语资源中读取。

我正在使用以下代码在两种语言之间进行切换:

我的 faces_config.xml 中有以下内容:

<locale-config> <default-locale>en</default-locale> <supported-locale>fr</supported-locale> </locale-config>

该应用程序对更改语言的响应非常好,但我认为从 FacesContext 设置语言环境时,它反映了所有用户的语言环境。

请帮我解决这个问题......

0 投票
4 回答
2456 浏览

java - 服务器启动的渲染:EJB -> FacesContext?

我已经在 Icefaces 论坛上问过这个问题,但同时我意识到这是一个更普遍的问题。

当我在 MDB 中收到消息时,我想更新 JSF 页面的某些部分。

问题是,如何从 EJB 容器中获取 FacesContext?

在消息处理函数 FacesContext.getCurrentInstance() 中返回 null。

我也尝试过让 JSF 托管 bean 成为 MDB,但我做不到(看来你不能在同一个类中拥有两者?)。

由于我是 JSF 世界的初学者,我现在有点卡住了。有没有办法让它工作?

(Glassfish v3 + Netbeans 6.8,JSF2 + Icefaces 2.0 alpha2)

0 投票
1 回答
1145 浏览

java - facesMessage 和 ice:Messages

快速提问。是否可以将 facesMessage 与特定的 ice:Messages 标签相关联?

即我创造

在我的页面中,我有

所以我想在消息 id="errorMessageOne" 的地方启动“错误消息一”,并在消息 id=errorMessageTwo 的地方启动“错误消息二”。

对此有什么建议吗?

谢谢您的帮助!

0 投票
1 回答
589 浏览

java - jsf / icefaces 中的请求属性行为奇怪(生存请求结束)

我在侦听器方法中有以下代码:

单击按钮时,将执行以下代码

除了在处理当前请求时未执行侦听器时“时间”为空,但是:似乎“时间”对象在请求处理中幸存下来。因此,当“时间”有时在过去设定时,它会停留在那里......有人可以解释一下吗?谢谢。

0 投票
1 回答
583 浏览

java - JSF/Icefaces 请求调度程序

我正在尝试在 JSF 中编写一个组件来读取旧版 JSP 文件。我正在使用 RequestDispatcher.include 来执行此操作...唯一的问题是 externalContext.getRequest().getRequestDispatcher(...) 在 Icefaces 中返回 UnsupportedOperationException。

有办法解决这个问题吗?

谢谢。

0 投票
2 回答
4893 浏览

jsf - 如何在 JSF 中注册自定义渲染器?

我们的数据库中有数值,表示双值状态。当然,这将完全匹配布尔值,但 oracle 没有这样的数据类型。数据库中的 NUMBER(1,0) 类型与 Java 中的 java.lang.Short 类型匹配(有时他们使用 NUMBER(*,0) 来表示与 java.math.BigDecimal 匹配的布尔值)。

由于它在某种程度上很明显,我想在视图中提供 ice:selectBooleanCheckbox 作为值表示和 UIComponent 给用户。(我使用 IceFaces 作为 JSF 实现)

由于某些指定 JSF 的人认为总是将 ice:selectBooleanCheckbox 或 JSF h:selectBooleanCheckbox 的值与模型中的布尔值相匹配是显而易见的,因此组件的渲染器从不调用任何转换器,即使您指定了一个: 在 java.net 上讨论的问题

因此我尝试了以下方法:

我创建了一个转换器来在 UIComponent 中指定它:

转换器在渲染阶段工作正常(getAsString 方法被正确调用),但 getAsObject 方法(忽略它目前不正确,因为它没有被调用,所以如果它被调用它将被修复!)是从未调用过,因为在 UIComponent 的渲染器中没有预见到转换器,就像您可以在此处看到的那样(来自 com.icesoft.faces.renderkit.dom_html_basic.CheckboxRenderer 的片段):

所以这会导致 IllegalArgumentException,因为在 UpdateModelValues 阶段它试图将布尔值应用于数值(请忽略 BigDecimal/Short 混淆......无论如何它只是一个数值类型!)。

所以我尝试用这样的新渲染器覆盖渲染器:

并像这样在 faces-config.xml 中注册它:

我想这应该是正确的,但是从未调用过覆盖的方法“getConvertedValue”,也没有调用 getAsObject() 方法,所以我想我在注册自定义渲染器时犯了一个错误,但我找不到更多文档或提示如何正确执行此操作,尤其是如何找到正确的组件系列(我查找了我在 icefaces.taglib.xml 中使用的那个)和正确的渲染器类型。

因此,我不想编辑完整的模型。任何提示,如何解决?

0 投票
2 回答
5074 浏览

java - 如何映射 IceFacesjava.util.Calendar 字段上的组件?

有谁知道如何将组件<ice:selectInputDate>映射到java.util.Calendar字段上,不是java.util.Date吗?

我使用的是IceFaces版本 1.8.2,组件<ice:selectInputDate>. 这个组件需要绑定一个java.util.Date属性。例如value="#{bean.myDate}",该myDate字段的类型必须为java.util.Date。但我需要我的日期字段是 type java.util.Calendar

我的试验:我尝试使用标准转换器或自定义转换器:

  1. 标准一:<f:convertDateTime pattern="dd/MM/yyyy" /> 它格式化正确的 GUI 中的值,但是在bean.myDate类型的属性上设置它时,Calendar我收到以下错误消息:

    [5/3/10 12:09:18:398 EEST] 00000021 生命周期 I 警告:FacesMessage 已入队,但可能尚未显示。sourceId=j_id12:j_id189:myDate[severity=(ERROR 2), summary=(/WEB-INF/xhtml............file.xhtml @507,51 value="#{bean. myDate}": 无法将类 'bean' 上的属性 'myDate' 设置为值 '5/11/10 3:00 AM'。),detail=(/WEB-INF/xhtml........ file.xhtml @507,51 value="#{bean.myDate}":无法将类 '...bean...' 上的属性 'myDate' 设置为值 '5/11/10 3:00 AM' .)]

  2. 定制一:<f:converter converterId="c2d"/>

    • getAsObject -java.util.Calendar从提交的对象中返回对象String
    • getAsString - 接收一个Object,并返回String格式化的。

注意:这个方法被黑了所以而不是期望java.util.Calendar, 与getAsObject方法互补。相反,被破解的方法getAsString需要一个java.util.Date,作为参数(by ice:selectInputDate)提供并返回String格式化的。

但仍然出现错误消息:

[5/3/10 12:55:34:299 EEST] 0000001f D2DFaceletVie E com.icesoft.faces.facelets.D2DFaceletViewHandler renderResponse 渲染响应中的问题:java.util.GregorianCalendar 与 java.util.Date 不兼容 java.lang.ClassCastException: java.util.GregorianCalendar 与 com.icesoft.faces.component.selectinputdate.SelectInputDate.getTextToRender 的 java.util.Date 不兼容(SelectInputDate.java:252)

任何提示都非常有用!谢谢,米哈埃拉