Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 没有JSF的Facelets_Java_Jsp_Jsf_Servlets_Facelets - Fatal编程技术网

Java 没有JSF的Facelets

Java 没有JSF的Facelets,java,jsp,jsf,servlets,facelets,Java,Jsp,Jsf,Servlets,Facelets,我正在学习Java语言并打算编写非常小的web应用程序,因为Facelets似乎是JSP的替代品,而JSF对于小型web应用程序来说似乎有些过火,我可以学习Facelets并在不使用整个JSF堆栈的情况下使用它吗?还是我应该为这个小型web应用使用JSP?Facelets是为JSF的需要而开发的,因此依赖于JSF。如果您需要JSP模板,只需使用,或者更高级的库。它可以在没有JSF的情况下使用。只需在web.xml中的FacesServlet的URL模式上映射*.xhtml,并执行不声明 xmln

我正在学习Java语言并打算编写非常小的web应用程序,因为Facelets似乎是JSP的替代品,而JSF对于小型web应用程序来说似乎有些过火,我可以学习Facelets并在不使用整个JSF堆栈的情况下使用它吗?还是我应该为这个小型web应用使用JSP?

Facelets是为JSF的需要而开发的,因此依赖于JSF。如果您需要JSP模板,只需使用,或者更高级的库。

它可以在没有JSF的情况下使用。只需在
web.xml
中的
FacesServlet
的URL模式上映射
*.xhtml
,并执行声明

xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
在任何Facelet模板中。声明它们实际上并没有什么害处,但这样您就不会“意外”使用它们。您也可以在其中编写普通HTML,将表单提交到普通servlet,并将servlet转发/重定向到Facelet

您只需要记住,使用servlet,您最终会得到更多用于收集请求参数、转换/验证它们、维护和更新模型值、调用业务操作的样板代码,而对于一个完整的JSF托管bean,所有这些重复的样板代码都是不必要的


另外,你不能在基于请求的MVC框架中使用Facelets,因为这些框架只有JSP标记库可用,比如Struts、Spring MVC等。

你想阅读和提问吗?我读了这些内容,但他们并没有说Facelets是否可以作为独立的技术使用。你仍然需要整个jsf jar,不是吗?另外,当不使用f:和h:时,哪些模板选项留给开发人员?例如,ui不被认为是jsf的一部分吗?为什么说不要只声明xmlns:f和:h?如果不在facelets页面中使用这些标记,您可以做什么?那么只有el可用?不,我的意思是为什么你不说“不要声明ui:”呢?你为什么说不要只声明f:和h:呢?