Struts开拓指南之Taglib
TAGLIB
Struts对Taglib举办了扩展, Struts提供了四种根基自界说Taglib以及两种附加Taglib:
bean:struts-bean taglib包括在会见bean和bean属性时利用的tag,也包括一些动静显示的tag。
html:struts-html taglib包括用来建设struts输入表单的tag,和其它凡是用来建设基于HTML用户界面的tag。
logic:struts-logic taglib包括的tag用来打点按照条件生成输出文本,和其它一些用来节制的信息。
template:struts-template taglib包括的tag用来界说模板机制。
tiles:Tiles插件,用于简化jsp开拓
nested: 而Nested标志库的浸染是让以上这些根基标志库可以或许嵌套利用,发挥更大的浸染。
利用taglib可以简化jsp页面的开拓,使得jsp包括最少的代码。
如,在JSP开拓进程中,虚拟目次是相对付Domain的。假如http://localhost/context1/test.jsp执行href="/”则会返回到http://localhost/,如何返回到http://localhost/context1/呢? 这样我们就可以用<html:link page="/" >凭据相对付虚拟目次的url来定位。
I18n支持
假如要显示一套支持i18n的界面,首先要界说一个ApplicationResource文件,将信息以key=value的形式放入。在struts-config.xml中指定resouces的地点,即可用<bean:message key="welcome">这样的tag来显示,而不需要将信息固化在JSP文件中。
TILES:
Tiles中对页面的分别有点象jakarta的别的一个项目Turbine中的TDK。增加了layout的观念。
其实就是把一个页面分别为几块。 凡是的来说一个页面或许可以分别为如下几块:
head页面头部:存放一个运用的民众信息:logo等,假如是网站大概是最上面的一块.
menu页面菜单:安排一个运用中需要利用的菜单,可能在每一个页面都利用的毗连.
footer页面尾部:如版权信息等.
body页面主题内容:每个页面相对独立的内容.
假如按上面的分别那对每一个页面我们只要写body内里的内容,其他的就可以共享重用.
假如大大都页面的机关基内情同我们甚至可以利用一个jsp文件按照差异的参数挪用差异的body.
Tiles除了替代Template的根基模板成果外,还增加了机关界说、虚拟页面界说和动态页面生成等成果。
Tiles强大的模板成果可以或许使页面得到最大的重用性和机动性,另外可以团结Tiles设置文件中的页面界说和Action的转发逻辑,即你可以将一个Action转发到一个在Tiles设置文件中界说的虚拟页面,从而淘汰页面的数量。好比,下表中的Action界说了一个转发路径,它的终点是tile.userMain,尔后者是你在Tiles设置文件中界说的一个页面。
EXCEPTION
异常处理惩罚在Struts1.1中获得了很好的支持
可以在设置文件中指定由谁来处理惩罚Action类中掷出的某种异常。凭据以下步调来完成该成果:
1 实现org.apache.struts.action.ExceptionHandler的子类,包围execute要领,在该要领中处理惩罚异常而且返回一个ActionForward工具
2 在设置文件中设置异常处理惩罚工具,你可以设置一个全局的处理惩罚类可能单独为每个Action设置处理惩罚类
下表就界说了一个全局的处理惩罚类CustomizedExceptionHandler,它被用来处理惩罚所有的异常。
<global-exceptions>
<exception
handler="com.yourcorp.CustomizedExceptionHandler"
key="global.error.message"
path="/error.jsp"
scope="request"
type="java.lang.Exception"/>
</global-exceptions>