Struts开发指南之Taglib

2016-02-19 13:09 0 1 收藏

下面是个简单易学的Struts开发指南之Taglib教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - 编程语言 】

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>

来源:https://www.tulaoshi.com/n/20160219/1603137.html

延伸阅读
标签: Web开发
AJAX依靠服务器作为中介来分发和处理请求。为了完成这项工作,.net封装类依赖于客户端的请求对象,而xmlHttpRequest对象被大部分的浏览器支持,因此使用这个对象是一个不错的解决方案。因为封装的目的是隐藏xmlHttpRequest的实现,故我们不讨论他的实现细节。 封装类是通过在.net的方法上增加AJAX属性标记来实现的,一旦被标记,AJAX创建...
标签: Web开发
[Ajax.AjaxMethod] public string Test1(string name, string email, string comment){ string html = ""; html += "Hello " + name + "<br>"; html += "Thank you for your comment <b>"; html += System.Web.HttpUtility.HtmlEncode(comment); html += "</b>."; return html; } SessionState 在服务端函数,你可能需要接受...
标签: Web开发
private void Page_Load(object sender, EventArgs e){ Utility.RegisterTypeForAjax(typeof(User)); } 在客户端我们可以通过这样的方式调用GetUser函数: <script language="javascript"> function getUser(userId){ User.GetUser(GetUser_callback); } function GetUser_callback(response){ if (response != null && resp...
标签: Java JAVA基础
在前面的例子中,我们每一个实体Bean只映射到数据库中的一张表上。事实上,一个实体Bean可以映射到多张表上。在一些需要字典表的项目上会经常用到,象以前我做过的项目,使用到很多国标规定的数据表。在我们下面这个例子中,性别作为一个字典表存在,学生这个实体将映射到学生信息表、性别表这两个表。 从表可以使用@Secon...
标签: 新生儿护理
新生儿喂养讲究多 新生BB刚出生,新手爸妈都不知道要如何喂养宝宝,一天喂几次,纯母乳喂养和混合喂养的宝宝有啥区别,夜里还需要喂奶吗,宝宝不喝奶怎么办。。。这些问题困扰着新手爸妈。不担心,图老师小编在这里为新手爸妈普及新生儿BB喂养的常识,希望每一个新生宝宝都能健康的成长。 人体的六大营养素有蛋白质、脂...

经验教程

528

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部