有时我看到JSFURL是*.jsf,有时是*.xhtml,有时是/Faces/*。为什么?

有时我看到JSFURL是*.jsf,有时是*.xhtml,有时是/Faces/*。为什么?

尝试学习JSF,有时我看到URL是*.jsf有时也是*.xhtml/faces/*..有人能补充我的知识吗?当我使用Faclet创建JSF时,文件扩展名为.xhtml,那么在哪里呢?.jsfURL扩展来自?



一只萌萌小番薯
浏览 598回答 1
1回答

MMTTMM

这个.jsf扩展是FacesServlet在JSF1.2期间,通常映射在web.xml.<servlet-mapping> &nbsp;&nbsp;&nbsp;&nbsp;<servlet-name>facesServlet</servlet-name> &nbsp;&nbsp;&nbsp;&nbsp;<url-pattern>*.jsf</url-pattern></servlet-mapping>这个.xhtml扩展名为实际在您实际放置在Web应用程序的Web内容中时,可以使用Facelets文件。Webapp/WebContent/page.xhtml.如果使用.jsf推广,如:http://localhost:8080/webapp/page.jsf然后FacesServlet将被调用,找到page.xhtml文件并解析/呈现其JSF组件。如果FacesServlet如果不调用,则Enduser将得到原始的XHTML源代码(通过右键单击即可看到)。视图源).有时*.faces延期或/faces/*使用折页映射。但这是在JSF1.0/1.1时代的早期。你可以自由选择和使用任何你想要的映射FacesServlet听着,即使是无话可说*.xyz..实际页面本身应该始终具有.xhtml扩展,但这是可以通过以下方法配置的<context-param>在……里面web.xml:<context-param> &nbsp;&nbsp;&nbsp;&nbsp;<param-name>javax.faces.DEFAULT_SUFFIX</param-name> &nbsp;&nbsp;&nbsp;&nbsp;<param-value>.xml</param-value></context-param>这将更改FacesServlet定位page.xml安装(违约)page.xhtml.最近,使用JSF/Facelets 2.0 a*.xhtml使用了映射。在JSF/Facelets 1.x中,不可能使用与物理文件相同的映射扩展名。它将导致无限循环。但是,由于JSF/Facelets 2.0,所以它是可能的,这允许您通过以下方式调用页面http://localhost:8080/webapp/page.xhtml.<servlet-mapping> &nbsp;&nbsp;&nbsp;&nbsp;<servlet-name>facesServlet</servlet-name> &nbsp;&nbsp;&nbsp;&nbsp;<url-pattern>*.xhtml</url-pattern></servlet-mapping>通过这种方式,您不需要配置一些安全限制来将原始源文件隐藏起来,例如,当终端用户发生更改时.jsf在URL中.xhtml在浏览器地址栏中。只有工具(IDE和插件)和学习资源仍然需要赶上所提倡的*.jsf到*.xhtml..根据JSF 2.3,FacesServlet默认情况下,将自动注册到*.xhtml也(旁边)/faces/*,&nbsp;*.faces和*.jsf)。这是支持mojarra 2.2.11。另见:我们可以在web.xml URL模式中使用正则表达式吗?通过JSF项目中的<迎宾文件>设置默认主页JSF返回空白/未解析页面,其中包含普通/原始XHTML/XML/EL源,而不是呈现的HTML输出。创建具有.jsp或.xhtml或.jsf扩展名的JSF页面有什么区别?哪些XHTML文件需要放入/Web-INF,哪些不需要?自定义FacesServlet<url模式>以摆脱.xhtml扩展
打开App,查看更多内容
随时随地看视频慕课网APP