知识大全 学会Tiles在JSF框架中的应用指南
Posted 文件
篇首语:男儿欲遂平生志,五经勤向窗前读。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 学会Tiles在JSF框架中的应用指南相关的知识,希望对你有一定的参考价值。
学会Tiles在JSF框架中的应用指南 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如果你还不知道Tiles是什么 这篇文章对你没有意义 如果你不了解JSF 那你看这篇文章是在浪费时间 如果你正在为怎么在JSF里面用Tiles发愁 This is what u want!!!!!! 可能有人会问 为什么用tiles?为什么用JSF 不用Struts? 如果你对tiles在struts中的应用了如指掌 那你不会问第一个问题 同样 如果你用过JSF 我相信你会在以后的项目中优先考虑JSF而不是Struts (其实我比较赞成Struts和JSF的互补 他们各有各的优势 Struts强大的逻辑控制使它更适合于表示逻辑简单而控制逻辑复杂的系统 而JSF在view层次的表现力同样是惊人的 建议去看看David Geary的帖子 Top Ten Reasons to Prefer JSF over Struts ) 好了 废话不说了 来看看Tiles是怎样融合到JSF里面的 注意 JSF的配置我不多讲 如果你JSF都不知道怎么运转 那就不要浪费时间了 把Struts 里面的struts jar考到lib目录下面 在web xml里面加上下面配置 <servlet> <servlet name>Faces Servlet</servlet name> <servlet class>javax faces webapp FacesServlet</servlet class> <load on startup> </load on startup> </servlet> <servlet> <servlet name>TilesServet</servlet name> <servlet class> apache struts tiles TilesServlet</servlet class> <init param> <param name>definitions config</param name> <param value>/WEB INF/tiles defs xml</param value> </init param> <init param> <param name>definitions parser validate</param name> <param value>true</param value> </init param> <load on startup> </load on startup> </servlet> 蓝色部分是你要加的 注意上面的servlet的load顺序 添加tiles defs xml到/WEB INF/下面 这个配置文件和以前在struts里面的没有差别 一个典型的配置如下 <!DOCTYPE tiles definitions PUBLIC //Apache Sofare Foundation//DTD Tiles Configuration//EN config dtd > <tiles definitions> <definition name= report main path= /JSPROOT/templates/topLayout jsp > <put name= header value= /JSPROOT/templates/header jsp ></put> <put name= menu value= /JSPROOT/templates/menu jsp ></put> <put name= footer value= /JSPROOT/templates/footer jsp ></put> <put name= body value= /JSPROOT/reports/report_main jsp ></put> </definition> <definition name= report summary extends= report main > <put name= body value= /JSPROOT/reports/summary_report jsp type= page ></put> </definition> </tiles definitions> 上面定义了 个view 一个report main 一个report summary 然后和原来一样 编写你自己的layout文件 及header footer等 典型的一个layout如下 <%@taglib uri= tiles prefix= tiles %> <> <head> <title> <tiles:getAsString name= header /> </title> </head> <body bgcolor= #ffffff topmargin= leftmargin= marginwidth= marginheight= onKeyPress= return killEnt(); > <table width= % border= cellpadding= cellspacing= > <tr> <td colspan= align= justify > <tiles:insert attribute= header flush= false ignore= false > </tiles:insert> </td> </tr> <tr> <td colspan= bgcolor= # align= right > </td> </tr> <tr height= > <td bgcolor= # D align= Left valign= Top width= % > <tiles:insert attribute= menu flush= false ignore= false > </tiles:insert> </td> <td width= % > <table width= % > <tr> <td > <tiles:insert attribute= body flush= false ignore= false > </tiles:insert> </td> </tr> </table> </td> </tr> <tr> <td> <tiles:insert attribute= footer flush= false ignore= false > </tiles:insert> </td> </tr> </table> </body> </> 注意 一定不能在f:view里面套f:view 也就是说你在layout jsp不要用到JSF的标签来产生一些业务逻辑 实际上我们主要的逻辑也是在body里面实现的 在layout里面主要是定义一些文字 图片什么的 同样在header jsp footer jsp menu jsp里面也只写代码 不要用JSF标签 编写两个jsp文件like this main_t jsp: <%@ taglib uri= tiles prefix= tiles %> <tiles:insert definition= report main > </tiles:insert> summary_t jsp: <%@ taglib uri= tiles prefix= tiles %> <tiles:insert definition= report summary > </tiles:insert> 这一步是关键 如果理解到了这里 那你就可以轻松把tiles和jsf结合起来 原来在Struts我们配置的forward对象可以直接是tiles defs xml里面的一个view 但是在JSF里面不行 这里的navigation必须是定义到一个jsp文件 所以我们只有在这个文件里面再来插入tiles里面所定义的view 这样的坏处就是我们在tiles defs里面定义的每一个view都必须有一个对应的想上面一样的jsp文件 而且在JSF里面配的navigation都必须是基于这个文件到的 注意 不只是to view id from view id也必须是对应上面的这种文件 不能是body的jsp文件(不懂可以看第 步的配置) 如果你都理解了 你可以不往下看了 下面是为了上面的例子更完整而做的剩余步骤 编写一个index jsp <> <head> <title> index </title> </head> <body bgcolor= #ffffff > <jsp:forward page= main_t faces > //对应到上面第 步的文件 <jsp:param name= value= /> </jsp:forward> </body> </> 编写 个tiles defs xml里面定义的body的jsp文件 report_main jsp: <%@taglib uri= prefix= f %> <%@taglib uri= prefix= h %> <> <head> <title>main</title> <link rel= stylesheet type= text/css /> </head> <body bgcolor= #ffffff > <h align= center class= header >Report</h > <f:view> <h:form> <p> <h:mandButton action= summary value= Summary Report styleClass= button > </h:mandButton> <h:mandButton type= reset value= Clear styleClass= button > </h:mandButton> </p> </h:form> </f:view> </body> </> summary_report jsp <%@taglib uri= prefix= f %> <%@taglib uri= prefix= h %> <> <head> <title>main</title> <link rel= stylesheet type= text/css /> </head> <body bgcolor= #ffffff > <h align= center class= header >Summary Report</h > </body> </> 配置face config xml <navigation rule> <from view id>/JSPROOT/reports/main_t jsp (注意 不是report_main jsp 这样在有的IDE里面可能会报report_main jsp有错 比如JB 不用管它)</from view id> <navigation case> <from oute>summary</from oute> <to view id>/JSPROOT/reports/summary_t jsp (不是summary_report jsp)</to view id> </navigation case> </navigation rule> 好了 所有工 cha138/Article/program/Java/hx/201311/27040相关参考
教你如何精通Struts:Tiles框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Tile
在你的struts配置文件strutsconfigxml中加入下面的配置 <plugin
Composite模式及其在JSF中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一&nbs
JSF框架中使用的设计模式介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 设计模式可以帮助用
Java框架研究——JSF与Struts的异同 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! S
JSF和struts基于框架的错误控制与封装处理 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
“十四五”时期,财政部将修订《注册会计师胜任能力指南》,将对注册会计师职业生涯胜任能力总框架、专业素质基本要素及核心内容、学历教育与( )内在联系,以及实务经历在培养、保持和提升注册会计师胜任能力中的
会计改革与发展十四五规划题目:“十四五”时期,财政部将修订《注册会计师胜任能力指南》,将对注册会计师职业生涯胜任能力总框架、专业素质基本要素及核心内容、学历教育与()内在联系,以及实务经历在培养、保持
知识大全 .net ajax 与Ext2框架在.net程序中的应用
.netajax与Ext2框架在.net程序中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NET项目开发指南:界面主体框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
应用JSF技术详细介绍Web应用程序开发 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 与微软V