jsf xhtml调用方法
JSF不是我们通常认为的那样。 这也是一个调试起来可能有些棘手的框架,尤其是在初次遇到时。 在这篇文章中,让我们继续探讨为什么会出现这种情况,并提供一些JSF调试技术。 我们将讨论以下主题:
- JSF不是我们经常想到的
- JSF调试的难点
- 如何系统地调试JSF
- JSF的工作原理– JSF生命周期
- 从浏览器调试Ajax请求到服务器再返回
- 调试JSF前端Javascript代码
- 最后的想法–替代方案? (给读者的问题)
JSF不是我们经常想到的
首先,JSF看起来像一个企业Java / XML前端框架,但实际上并不是 。 它实际上是一个多语言Java / Java脚本框架,其中客户端Java脚本部分不可忽略,理解它也很重要。 它还对直接使用HTML / CSS有很好的支持。
JSF开发人员正在使用ocasion,而他们已经是多种语言的开发人员,其主要语言是Java,但仍需要使用本地语言的Javascript。
JSF调试的难点
在上一篇文章中将JSF与GWT和AngularJS进行比较时 ,我发现该框架从XML背后的开发人员那里提取HTML和CSS的(最常用的)方法增加了调试的难度,因为它创建了一个额外的层次。间接。
也可以使用直接使用HTML / CSS的更直接的方法 ,但是似乎企业Java开发人员在大多数情况下倾向于使用XML,因为它是一种更熟悉的技术。 另一个问题是框架/库的客户端Javascript部分没有很好的文档记录,了解发生的事情通常很重要。
系统调试JSF的唯一方法
第一次遇到JSF时,我首先尝试仅从Java,XML和文档中使用它。 虽然我可以那样做一部分工作,但在很多情况下这种方法确实是不够的。
我得出的结论是,为了能够有效地调试JSF应用程序,需要了解以下内容:
- HTML
- CSS
- Java脚本
- HTTP
- Chrome开发工具,Firebug或同等功能
- JSF生命周期
对于大多数使用Java / XML进行工作的开发人员来说,这听起来可能令人惊讶,但是这种以Web为中心的调试JSF的方法是我设法满足许多需要一些重要组件自定义或能够修复某些bug的唯一方法。
让我们首先了解JSF的内部工作原理,以便我们可以对其进行更好的调试。
JSF接受MVC
JSF处理MVC的方式是全部三个组件都位于服务器端:
- 该模型是纯Java对象的树
- 视图是用XML定义的服务器端模板,读取该模板即可构建内存视图定义
- Controller是一个Java Servlet,它接收每个请求并通过一系列步骤处理它们
假定浏览器只是服务器端生成HTML的呈现引擎。 通过提交页面的一部分以进行服务器处理,并请求服务器仅在不离开页面的情况下“重绘”屏幕的某些部分,即可实现Ajax。
JSF生命周期
HTTP请求到达后端