问题标签 [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.
icefaces - 使用 sbt 生成带有 icefaces 的 webapp
我是 sbt 的新手,我将使用 jsf 2.0 mojarra 和 icefaces 生成一个 Web 应用程序,但我不知道如何构建 build.sbt。我尝试这样的事情:
也许这是可怕的错误并且 sbt 找不到模块:
未找到模块:com.sun.faces#jsf-impl:2.1.1-b04/ivys/ivy.xml
jsf-2 - Tomcat 7.0.19 和 Mojarra 2.1.2 ViewExpiredException
很长时间以来,我一直在我的项目中使用 Tomcat 6.0.26。现在,我需要在这个项目中使用 EL 2.2,所以我将其移至 Tomcat 7.0.19,没有进行其他更改(使用 Mojarra 2.1.2-b04 和 RichFaces 4.0.0)。当我启动它时,一切都很好,直到我尝试任何 a4j:commandButton 或 h:commandButton 它都会抛出 ViewExpiredException,即使应用程序启动不到一分钟(对于信息,我在 web.xml 中强制了 30 分钟会话超时) .
使应用程序正常工作的唯一方法是更改此设置:
它是服务器,我将其更改为客户端,但服务器设置最好保留数据服务器端,并且不要在每次请求时将其传输到客户端。
编辑:看起来服务器到客户端修复了ViewExpiredException的问题,但网站上的用户登录功能不再起作用。它登录到用户主页,但是在单击任何链接后,它的作用与用户不是记录器一样(我使用SessionScoped ManagedBean来保存用户信息)。
有人有这个bug吗?
谢谢,
亚历克斯。
ajax - 在 Ajax 请求期间处理错误的规范方法是什么?
对于普通请求,我们可以简单地注册一个<error-page>
in web.xml
。但是,这不适用于 Ajax 请求。默认情况下,Ajax 请求期间的错误将导致浏览器中出现一个显示异常的小弹出窗口。
我正在努力解决的主要示例是以ViewExpiredException
统一的方式处理 a 。对于标准请求,我重定向到说明用户未登录并提供登录页面链接的页面。我想对 Ajax 请求做同样的事情。似乎有几种方法:
- 我可以编写一个 javascript 函数来处理客户端的错误并重定向到错误页面。然后我必须使用-attribute在所有页面上的每个-tag 添加这个函数。
<f:ajax>
onerror
有没有办法告诉 JSF 我想让这个 javascript-function 作为所有<f:ajax>
-tags 的默认错误处理程序? - 我可以使用自定义异常处理程序,如本博客所述。这似乎做了我想要的,但我想知道它是否是矫枉过正。没有更简单的解决方案吗?
所以我的问题是,这应该如何解决?应该使用我列出的哪些方法?还有另一种我不知道的方法吗?
jsf-2 - 提交 JSF2 表单不会在同一页面上重新加载集合
JSF 2.0 (mojarra) 应用程序。我有一个非常简单的表格来添加项目
然后在同一页面上,我列出了已添加的所有项目:
bean代码中的代码超级简单:
现在的问题是,它getManualTitles()
被调用的次数与我拥有的标题数量一样多,这会导致例如 12 次调用数据库,而不是 1 次。为什么会发生这种情况超出了我的理解。我可以通过在 bean 中缓存手动标题来解决这个问题。这不是我的主要问题。
问题是addTitle()
被称为 AFTER getManualTitles()
。实际上getManualTitles()
是调用了例如 10 次,然后addTitle()
,然后再调用了两次该getManualTitles()
方法。这让我觉得这是某种并行执行,导致我的页面只显示 12 条旧记录而不是 13 条。我必须重新加载页面,然后显示 13。
更新:现在缓存列表。问题仍然没有解决。
为什么?我怎样才能解决这个问题?
jsf - 提交响应后无法创建会话
打开 JSF 页面会出现以下异常:
原因:java.lang.IllegalStateException:响应提交后无法创建会话
这是JSF代码:
这是堆栈跟踪:
这个问题是如何引起的,我该如何解决?我正在使用 Mojarra 2.1.2。
jakarta-ee - jsf 2.0 @FacesConverter forClass BigDecimal 不起作用?
我在 Glassfish 3.1.1 上使用 Mojarra 2.1.3 (FCS b02)。当我使用
但是当我改为:
有用。Mojarra 中是否存在错误?我也用@FacesConverter(forClass=String.class)
没问题。只有 BigDecimal 不起作用。
ajax - 在 IE7/IE8 上使用 JSF/Mojarra:未应用请求
我有一个非常复杂的表格网站,我想在其中浏览页面(例如一次 5 行)。这种浏览在 Firefox 中运行良好,但在 Internet Explorer (7 + 8) 中则不行。
我调查了 HTTP 流量,发现服务器生成的响应是正确的,但在 IE 中,内容没有更新(也没有错误消息,例如在控制台中)。我花了一整天时间创建一个沙盒示例,但不幸的是,所有较小的示例都可以完美运行。我现在考虑两件事:
- 我的响应太大,IE7/IE8 JS 引擎无法处理。
- 响应包含一些 IE7/IE8 JS 引擎或 Mojarra 无法消化的序列。
您知道 Mojarra / IE JS 中的任何此类错误吗?我正在使用 Mojarra 2.1.3。
浏览由 ajax 命令链接触发:
因为我认为问题可能是确切的响应,所以这是一个原始响应(去掉了仍然不起作用的最小值):
非常感谢您的帮助!
PS:我也在使用Primefaces,但我想这与问题无关。
javascript - Mojarra:提供非缩小的 Javascript 文件
我必须调试 mojarra 2.1.3 javascript 源代码的一部分。不幸的是,它们现在以缩小版本 (jsf.js) 的形式提供。我在源代码中找到了 jsf_uncompresses.js,我怎样才能告诉 mojarra 使用它?我必须替换 jsf.js 吗?
java - JSF 和 xhtml 文件的自动重新加载
我在使用 JRebel、Spring、JSF Mojarra 2.0.3 和 WebLogic 10.3 热重载 XHTML 文件时遇到了一些问题。
JRebel 成功地重新加载了 /WebContent 下的常规 Java 类和 js/css 文件,但不是 JSF 的 .xhtml 文件。需要完全重新发布才能在服务器上更新 xhtml 文件。
通过反复试验,我终于通过将一些 facelets 参数添加到 web.xml 并创建自定义 ResourceResolver 来使其工作,如本博客文章中所述。
但是,我想知道为什么会这样,更具体地说:
- 为什么需要自定义 ResourceResolver?
- JRebel 不应该通过监视 xhtml 文件所在的 /WebContent 来处理这个问题吗?
- 我猜这与Facelets/JSF 通过FacesServlet 将xhtml 编译为servlets(?)有关,而JRebel 无法检测到?
jsf-2 - JSF 2 RI (Mojarra) 和 Tomahawk 兼容性
我需要使用来自 Tomahawk 的fileUpload,因为 Jsf 没有提供。我想知道Tomahawk是否 100% 兼容Mojarra
我在网上找不到此信息。
我的Mojarra (2.1.2)和tomahawk (1.1.11)版本
谢谢,
约尔