中山建网站哪家好,注册公司材料怎么准备,哪个网站ppt模板免费下载,wordpress访问需要密码MVC 1.0是一个基于动作的Model-View-Controller Web框架#xff0c;它将成为将来的Java EE 8的一部分。它将与基于组件的JSF框架并存#xff0c;并提供构建面向HTML javascript的应用程序的替代方法完全控制网址。 这篇文章总结了使用Facelets代替默认的JSP作为MVC框架的视… MVC 1.0是一个基于动作的Model-View-Controller Web框架它将成为将来的Java EE 8的一部分。它将与基于组件的JSF框架并存并提供构建面向HTML javascript的应用程序的替代方法完全控制网址。 这篇文章总结了使用Facelets代替默认的JSP作为MVC框架的视图技术需要做什么。 介绍 尽管MVC是一个全新的框架但大多数示例中使用的默认视图技术JSP相当古老有时会很麻烦。 另一方面哥哥JSF已经建立在更现代更灵活的Facelets上。 幸运的是MVC框架旨在支持现成的许多替代视图技术包括Facelets。 入门 尽管Java EE 8尚未发布但是可以在某些Java EE 7服务器中使用MVC框架因为名为Ozark的MVC规范的参考实现已经几乎完成。 据报道Ozark与应用服务器Glassfish 4.1.1和Payara 4.1一起使用 。 我建议在其中一个应用程序上运行该应用程序否则您可能会四处走动。 在发布Java EE 8之前有必要使用Java EE 7 API之上的默认范围compile功能来添加对ozark maven工件的依赖关系 pom.xml中的依赖项 dependencygroupIdjavax/groupIdartifactIdjavaee-web-api/artifactIdversion7.0/versionscopeprovided/scope/dependencydependencygroupIdorg.glassfish.ozark/groupIdartifactIdozark/artifactIdversion1.0.0-m02/versionscopecompile/scope/dependency 这就是设置项目所需要的。 现在您可以将新的MVC框架与Java EE结合使用了 控制者 MVC框架基于JAX-RS构建并与CDI和Bean验证集成。 因此MVC Controller是一个JAX-RS资源仅使用javax.mvc.annotation.Controller了注释 HeloController.java Path(/hello)
Controller
RequestScoped
public class HelloController {Injectprivate Models model;GETpublic String doGet() {model.put(hello, Hello MVC 1.0);return hello.xhtml;}
} 控制器包含业务逻辑并将模型粘贴到视图上。 该视图仅由控制器操作返回的字符串标识。 要使用facelets只需指定一个路径即可该路径将被映射到Facelets servlet按照惯例我们使用xhtml后缀。 该模型由注入的Models对象表示。 这里要注意几件事。 首先由于控制器是JAX-RS资源因此还必须创建JAX-RS应用程序配置-扩展javax.ws.rs.core.Application的类。 其次除非您将bean.xml包含在bean发现模式 all 否则您需要使用范围定义注释例如RequestScoped标记控制器以打开CDI注入Models模型。 模型 该模型包含由String键标识的对象这些对象在视图页面中被转换为变量。 有两种方法可以定义模型。 首先是将javax.mvc.Models注入到控制器中该控制器实际上是一个映射。 然后控制器动作将对象放入String键下的注入模型中。 JSP和Facelets还支持带有Named CDI限定符的任意CDI bean。 这样您只需将Named注释放在模型上就可以将任何CDI bean变成模型。 视图 现在到本文的核心–我们将使用facelets在模型中显示数据。 实际上使用Facelets作为视图技术与使用JSP一样容易。 它只需要正确设置Facelets servlet。 web.xml中的FacesServlet配置 servletservlet-nameFaces Servlet/servlet-nameservlet-classjavax.faces.webapp.FacesServlet/servlet-classload-on-startup1/load-on-startup/servletservlet-mappingservlet-nameFaces Servlet/servlet-nameurl-pattern*.xhtml/url-pattern/servlet-mapping FacesServlet需要映射到*.xhtml 。 所有xhtml页面都应位于Web应用程序内的WEB-INF/views文件夹内MVC框架在其中搜索视图文件。 就是这样 现在您可以开始使用facelet编写页面并按path引用它们它们以xhtml结尾。 Hello facelet页面示例 hello.xhtml ?xml version1.0 encodingUTF-8 ?
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlnshttp://www.w3.org/1999/xhtmlxmlns:hhttp://xmlns.jcp.org/jsf/htmlh:headtitleFacelet Title/title/h:headh:bodyh1#{hello}/h1/h:body
/html 为了显示hello.xhtml只需从控制器操作中返回hello.xhtml 。 摘要 一旦了解了JAX-RS和CDI的基础知识就可以很容易地开始使用MVC框架。 唯一的要求是在支持Ozark参考实现的应用程序服务器之一上运行应用程序。 使用各种视图技术作为默认JSP的替代品也非常容易。 MVC框架包括对许多视图技术的支持并能够在其之上插入其他技术。 配置Facelets仅需要在web.xml中配置Faces servlet –设置JSF时需要做的相同的事情。 这篇文章的灵感来自Bennet Schulz的另一篇文章。 如果您想了解有关新MVC框架的更多信息请访问他的博客。 翻译自: https://www.javacodegeeks.com/2016/02/mvc-1-0-java-ee-8-getting-started-using-facelets.html