博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转载]Tiles在JSF框架中的应用指南
阅读量:2446 次
发布时间:2019-05-10

本文共 2674 字,大约阅读时间需要 8 分钟。

Tiles在JSF框架中的应用指南

如果你还不知道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都不知道怎么运转,那就不要浪费时间了。

1.把Struts1.1里面的struts.jar考到lib目录下面。

2.在web.xml里面加上下面配置:

Faces Servlet
javax.faces.webapp.FacesServlet
1
TilesServet
org.apache.struts.tiles.TilesServlet
definitions-config
/WEB-INF/tiles-defs.xml
definitions-parser-validate
true
2

蓝色部分是你要加的。注意上面的servlet的load顺序。

3.添加tiles-defs.xml到/WEB-INF/下面,这个配置文件和以前在struts里面的没有差别,一个典型的配置如下:

br /> "-//Apache Software Foundation//DTD Tiles Configuration//EN"

"http://jakarta.apache.org/struts/dtds/tiles-config.dtd">

上面定义了2个view,一个report.main,一个report.summary

4.然后和原来一样,编写你自己的layout文件,及header,footer等....典型的一个layout如下:

<%@taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles"%>

注意:一定不能在f:view里面套f:view。也就是说你在layout.jsp不要用到JSF的标签来产生一些业务逻辑。实际上我们主要的逻辑也是 在body里面实现的。在layout里面主要是定义一些文字,图片什么的。同样在header.jsp,footer.jsp,menu.jsp里面也 只写html代码,不要用JSF标签。

5.编写两个jsp文件like this:

main_t.jsp:

http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>

summary_t.jsp:

http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>

这一步是关键,如果理解到了这里,那你就可以轻松把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文件(不懂可以看第9步的配置)。

6.如果你都理解了,你可以不往下看了。。下面是为了上面的例子更完整而做的剩余步骤。

7.编写一个index.jsp

index
//对应到上面第5步的文件

8.编写2个tiles-defs.xml里面定义的body的jsp文件

report_main.jsp:

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
main

Report

summary

" value="Summary Report" styleClass="button" style="width:120">

summary_report.jsp:

<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
main

Summary Report

9.配置face-config.xml:

...........................

/JSPROOT/reports/main_t.jsp (注意:不是report_main.jsp,这样在有的IDE里面可能会报report_main.jsp有错,比如JB2005,不用管它)
summary
/JSPROOT/reports/summary_t.jsp (不是summary_report.jsp)

....................

好了。所有工作都作完了。哈哈,现在你同时拥有了tiles的布局灵活性和JSF在view层的强大表现力,还等什么,在下个项目中赶快试试吧。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-131071/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/374079/viewspace-131071/

你可能感兴趣的文章
在Windows 7下最大限度地发挥多显示器的魔力
查看>>
如何使Ubuntu中的Gnome面板完全透明
查看>>
电子修补程序入门:购物清单
查看>>
word中将空格替换为_如何在Word 2010中将英寸更改为厘米
查看>>
如何为Windows Home Server设置电子邮件通知
查看>>
spark fold_每日新闻摘要:三星Galaxy Fold将于9月发布
查看>>
gpt分区 添加vhd引导_如何在不进行重新分区的情况下双重引导Windows 7和8(使用VHD)...
查看>>
如何在iPhone上将GIF设置为动态壁纸
查看>>
如何使F8键在Windows 8中进入安全模式
查看>>
富文本中添加字体选项功能_如何将开发人员选项卡添加到Microsoft Office功能区...
查看>>
如何将音乐添加到PowerPoint演示文稿
查看>>
fitbit手表中文说明书_Fitbit OS达到3.0版,这是新功能
查看>>
ublock origin_Chrome可能会在打破uBlock起源的同时更快地阻止广告
查看>>
电邮地址_我如何找出电子邮件的真正来源?
查看>>
windows虚拟桌面_在Windows中使用虚拟桌面的最佳免费程序
查看>>
ipad iphone开发_如何在iPhone或iPad上的消息中快速选择表情符号
查看>>
在windows使用gpu_如何选择Windows 10上游戏使用的GPU
查看>>
什么是适用于iPhone和iPad的iOS最新版本?
查看>>
成为产品不一定是坏事
查看>>
Ubuntu 18.04 LTS现在在Microsoft Store中
查看>>