Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在基于组件的MVC框架中,控制更少意味着什么_Java_Jsf_Jakarta Ee_Model View Controller - Fatal编程技术网

Java 在基于组件的MVC框架中,控制更少意味着什么

Java 在基于组件的MVC框架中,控制更少意味着什么,java,jsf,jakarta-ee,model-view-controller,Java,Jsf,Jakarta Ee,Model View Controller,这句话是什么意思: 使用基于组件的MVC框架,您不需要自己编写太多代码。但是,您对流程和HTML/CSS/JS输出的细粒度控制较少 你能给我一个真实的例子吗?你引用的那句话非常通用,可能是一些对基于组件的框架没有太多经验的人说的。基于组件的框架的目的是为您提供一些预构建的组件,以避免每次您有需求时必须自己实现HTML代码及其与服务器端的绑定。对于JSF,这是由一个Javaservlet完成的,它在服务器端将JSF自己的代码转换为HTML 默认情况下,组件可通过在声明中指定某些属性进行自定义,即您

这句话是什么意思:
使用基于组件的
MVC
框架,您不需要自己编写太多代码。但是,您对流程和
HTML/CSS/JS
输出的细粒度控制较少


你能给我一个真实的例子吗?

你引用的那句话非常通用,可能是一些对基于组件的框架没有太多经验的人说的。基于组件的框架的目的是为您提供一些预构建的组件,以避免每次您有需求时必须自己实现HTML代码及其与服务器端的绑定。对于JSF,这是由一个Javaservlet完成的,它在服务器端将JSF自己的代码转换为HTML

默认情况下,组件可通过在声明中指定某些属性进行自定义,即您可以
h:selectOneMenu
提供给您自定义其行为。如果一个组件仍然不能满足您的需求,您总是可以选择实现自己的组件

您还可以向组件添加JS行为CSS样式,不要忘记框架所做的一切就是将自己的标记转换为浏览器可以理解的纯HTML代码。由于JS和CSS应用于客户端,您还可以将它们附加到创建的组件。我认为在这种情况下,您会对第三方组件库的使用感到困惑,就像JSF一样。这些库有自己的组件,这些组件还添加了JS JQuery行为和CSS样式。它们可能涵盖应用程序的大多数情况,但即使您需要更具体的解决方案,您也可以自己选择

另请参见:

谢谢您的解释,但您能告诉我我擅长java、css和js,所以我使用基于组件或动作的MVC框架吗?JSF本身可以被认为是基于动作的,因为不同的动作直接指向不同的视图。例如,如果您想在JSF和SpringMVC之间做出选择,我不能为您做出决定,因为这取决于您的经验和学习曲线。我自己从来没有做过春季MVC!我们可以将JSF视为基于动作的,因为“不同的动作直接指向不同的视图”吗?@显然,这取决于你认为什么是“行动基础”。JSF有一个基于用户执行操作的工作流。它可以与Struts相比较,Struts执行的操作也会产生一个转发。在使用了两者之后,JSF在1.x和2.x分支中对我来说都更加易于使用,特别是最新版本。除此之外,框架不需要坚持基于组件、基于操作或基于请求。举个例子,如果配置得当,JSF可以是所有的。在SpringMVC上使用JSF的要点是,JSF允许您为您使用的每个bean选择一个状态。SpringMVC更面向请求(没有任何像
@ViewScoped
开箱即用的东西,AFAIK)。此外,我们还必须提到特定于JSF的第三方库作为Primefaces。另一方面,SpringMVC提供了与Spring框架的完全集成,而JSF没有。