Java JSF视图技术如何翻译客户端?

Java JSF视图技术如何翻译客户端?,java,jsf,richfaces,icefaces,Java,Jsf,Richfaces,Icefaces,所以我知道JSP是客户端代码(DHTML、JS、CSS等)和Java的混合体。这样,JSP有点像纯PHP或纯ASP。当web容器收到JSP请求时,它编译JSP中的Java,执行它,然后在HTTP响应中返回结果客户端代码 我还知道JSP的另一种选择是Servlet,或Servlet/模板组合,如FreeMarker。servlet包含纯Java(业务逻辑),模板包含表示逻辑 我不明白的是,JSF派生技术(如RichFaces、PrimeFaces和ICEFaces)是如何将Java代码转换为可以在

所以我知道JSP是客户端代码(DHTML、JS、CSS等)和Java的混合体。这样,JSP有点像纯PHP或纯ASP。当web容器收到JSP请求时,它编译JSP中的Java,执行它,然后在HTTP响应中返回结果客户端代码

我还知道JSP的另一种选择是Servlet,或Servlet/模板组合,如FreeMarker。servlet包含纯Java(业务逻辑),模板包含表示逻辑

我不明白的是,JSF派生技术(如RichFaces、PrimeFaces和ICEFaces)是如何将Java代码转换为可以在浏览器中运行的客户端代码的。我还听说,这些框架的主要吸引力在于它们附带的“丰富”UI控件,但我很难将所有这些点连接起来

这些框架是否像GWT一样编译成JS?如果是这种情况,那么我会假设这些富UI控件与纯JS的jQueryUI控件相同

如果不是这样的话,那么我就是不明白(根本不明白)这些框架是如何将服务器端代码变成可以在客户端执行的“东西”的

提前谢谢

我不明白的是,JSF派生技术(如RichFaces、PrimeFaces和ICEFaces)是如何将Java代码转换为可以在浏览器中运行的客户端代码的

HTML由和/或实现的
encodeXxx()
方法生成。这些方法是在呈现响应阶段调用的,首先从整个组件树层次结构中委托调用开始

JSF实现,例如,几乎所有组件库都是开源的。以JSF标准的
组件为例,开始查看类以查看所有生成HTML的代码


这些框架是否像GWT一样编译成JS

绝对不是。在浏览器中打开JSF页面,右键单击并查看源代码。这些都只是HTML代码,如果需要的话,还有自动包含的CSS/JS文件。使用GWT,它是一个完整的JS代码

另见:
  • -学习如何自己编程
我不明白的是,JSF派生技术(如RichFaces、PrimeFaces和ICEFaces)是如何将Java代码转换为可以在浏览器中运行的客户端代码的

HTML由和/或实现的
encodeXxx()
方法生成。这些方法是在呈现响应阶段调用的,首先从整个组件树层次结构中委托调用开始

JSF实现,例如,几乎所有组件库都是开源的。以JSF标准的
组件为例,开始查看类以查看所有生成HTML的代码


这些框架是否像GWT一样编译成JS

绝对不是。在浏览器中打开JSF页面,右键单击并查看源代码。这些都只是HTML代码,如果需要的话,还有自动包含的CSS/JS文件。使用GWT,它是一个完整的JS代码

另见:
  • -学习如何自己编程

  • 不,JSF与GWT不同。想法是不同的。但让我们从头开始

    servlet并不是JSP的真正替代品。JSP是一种技术,负责模型-视图-控制器设计模式中的视图部分。servlet通常扮演控制器的角色

    在一个典型的场景中,Servlet接收来自用户的请求,对其进行解析并调用业务逻辑(模型)——它可能只是一组java类或EJB组件,或者其他任何计算、与数据库对话的组件。然后Servlet从业务逻辑(如果有)获取数据,并将用户重定向到适当的视图元素—JSP,纯HTML页面,一些模板引擎等

    JSF有点像JSP+servlet之上的一层,它使程序员的生活变得更轻松(尽管许多人会强烈地反对:)

    JSF页面基本上是一个JSP页面,它使用一组专门的标记组件(JSF原生标记或RichFaces标记或ICE Faces标记)。这些标签可以用Java编写,可以绑定JavaScript、CSS。最后的效果是这些标记生成表示“组件”的HTML,例如具有排序功能的花式表

    例如,您有一个放置在JSP页面上的组件,它代表了一个外观良好的表

    此外,JSF配备了标准控制器,该控制器不是用Java编写的,而是用XML编写的页面之间的一组导航规则

    还有一个元素是JSFbean,它被绑定到JSF页面,并自动填充来自这些页面的数据。用户填写表单通常是非常困难的,表单是JSF页面的一部分(表单还使用专门的标记-组件)。提交此表单后,JSFbean类将填充数据并调用action方法。action方法返回一个字符串,该字符串用于标识用户应重定向到的页面(规则取自XML控制器配置)

    因此,在JSF的情况下,前端部分是在后端生成的——JSF标记(或人们称之为组件)在后端解释,后端从中生成HTML


    这可以和分离前端和后端的技术形成对比。后端接收并返回XML或JSON格式的数据,并与应用程序的前端部分进行交换。前端可以用JavaScript、Flex等编写,所以后端和前端是完全分开的。

    不,JSF与GWT不同。想法是不同的。但让我们从头开始

    servlet并不是JSP的真正替代品。JSP是一种技术,负责模型-视图-控制器设计模式中的视图部分。Servlet通常扮演控制者的角色