【问题标题】:The best way to debug Mojarra and Primefaces in eclipse?在 Eclipse 中调试 Mojarra 和 Primefaces 的最佳方法是什么?
【发布时间】:2013-09-02 00:03:33
【问题描述】:

PF 3.5.10、Mojarra 2.1.21、JBoss 7.1.1、Omnifaces 1.5

有时我遇到 JSF 的问题,这些问题很难理解,也很难解决。例如。我的问题Duplicate id error with primefaces dialog in template。所以我的问题是调试 Mojarra 需要什么。

现在我可以在 Mojarra 源中设置调试点。

a) 哪些 Mojarra(或 primefaces)方法是开始调试的良好起点?

b) 如我的示例所示,如果我想找出 JSF(或 primefaces)生成重复 id 的原因,我应该观察(和调试)哪些方法来找出原因。

c) 你有什么调试技巧吗?

【问题讨论】:

    标签: eclipse debugging jsf jsf-2 mojarra


    【解决方案1】:

    如果您不需要在视图中特别引用 id 属性(例如,对组件的 Ajax 更新),最好避免使用 id 问题。只需让 JSF 分配它自己生成的 id,这样就可以避免重复。

    关于调试,检查javax.faces.webapp.FacesServlet 类,这是JSF 工作的Servlet。在这里,您将能够检查每个构建和渲染过程。但是,不要执着于调试 JSF 实现的内部类,它们应该经过测试,您应该牢记自己的代码。

    所以我的建议是:开始调试你自己的方法!

    【讨论】:

    • 我理解您的建议,但是如果您查看组件树(在我的示例中),您会发现生成的树明显错误。我想知道这个问题的根源以及如何避免这种情况。所以欢迎更多的调试技巧 :-) 现在我看看 FacesServlet)
    • 我的提示可能会解决您的问题,不要在列中使用 id!如果您需要执行更新,只需在表格上执行!
    • 很遗憾没有。但经过一些试验后,问题似乎与数据表绑定有关。
    • XHTML 端的错误很难在 Java 端调试。您基本上需要跟踪所有添加的组件及其binding 属性。对我来说,从上到下阅读 XHTML 源代码以发现重复项更容易(是的,如果您事先知道所有可能的原因,则问题更容易解决,如我之前评论中的链接中所列)。我对发布答案并不感兴趣,因为这不是技术问题,而且有点主观。
    猜你喜欢
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2023-03-15
    • 2010-11-23
    • 2014-07-18
    • 1970-01-01
    • 2011-10-03
    相关资源
    最近更新 更多