常用Struts标签库

 Struts标签库是一个JSP自定义标签的集合,根据其内标签功能和使用习惯的不同,Struts提供了以下5个标签库。 Bean Tags:这个标签库内的标签可用来管理Bean,包括访问Bean、访问Bean的属性及创建Bean。 HTML Tags:这个标签库内的标签可用来生成HTML表单。 Logic Tags:这个标签库内的标签可用来进行逻辑判断、集合迭代和流程控制。 Nested Tags:这个标签库扩展了前面3个标签库,运行标签间的嵌套。 Tiles Tags:这个标签库包含的标签可用来创建Tiles样式的页面。 Struts标签库允许用户扩展和自定义JSP功能。在程序中使用Struts标签,将使JSP页面变得容易维护,熟练掌握标签的使用能很大程度上提高开发效率。 使用Struts标签之前需要经过下面3个步骤的配置。 导入TLD文件。 在web.xml中注册标签库。 在页面中引入标签库。 TLD文件是Struts的标签库描述文件,一般将其直接复制到应用工程的WEB-INF目录下; 在web.xml中注册标签库。 在JSP文件中使用逻辑引用的方法来指向实际的标签库,这种映射关系是通过web.xml来实现的。在web.xml中配置了标签库的名称和实际存储的URL地址,如: <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> 根据Struts版本的不同,在web.xml中注册标签库这一步骤是可以省略的。 在页面中引入标签库。 Struts 1.3.8的TLD文件内置在struts-taglib-1.3.8.jar中,只需要在JSP页面中声明类似如下即可: <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> 或者将struts-taglib-1.3.8.jar解压缩后将其中的tld文件复制到WEB-INF目录下,再按上述步骤配置。 使用HTML标签库 Struts的HTML标签库提供了20多个标签可生成相应的标准HTML标签,这些标签虽然和标准的HTML标签功能相同,但是它们却可以和Struts框架的其他组件紧密地联系起来,因此建议在页面中使用Struts的HTML标签而非HTML标签。 下面分别来看一下Struts的HTML标签。 <html:html>标签:<html:html>对应着HTML中的<html>标签,意味着一个页面的开始和结束,如: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:html lang="true"> …… </html:html> <html:html>标签的属性lang用于指明服务器的Local(区域)信息,当值为true时Local会自动调整。 <html:base>标签:<html:base>标签对应着HTML中的<base>标签。 <html:link>标签:<html:link>标签对应着HTML中的<a>标签,用于生成一个超链接。它有以下4个属性。 forward:指定一个全局ActionForward的名称。 action:指定一个Action的名称。 href:指定一个完整的URL链接。 page:指定一个页面的路径,必须以“/”开始。 <html:img>标签:对应着HTML中的<img>标签,用于显示图片。 <html:errors>标签:用于显示出错信息。 <html:form>标签:对应着HTML中的<form>标签,用于表单的开始和结束。它有一个必需的属性action,其值对应着在struts-config.xml中某个<action>子元素的path属性值。 <html:text>标签:对应着HTML中的<input type=“text”>标签,可生成一个单行文本框。 <html:textarea>标签:对应着HTML中的<textarea>标签,可生成一个多行文本框。 <html:password>标签:对应着HTML中的<input type=“password”>标签,可生成一个密码框。 <html:hidden>标签:对应着HTML中的<input type=“hidden”>标签,可生成一个隐藏文本框。 <html:checkbox>标签:对应着HTML中的<input type=“checkbox”>标签,可生成一个复选框。 <html:radio>标签:对应着HTML中的<input type=“radio”>标签,可生成一个单选按钮。 <html:select>和<html:option>标签:<html:select>标签对应着HTML中的<select>标签,可生成一个选择列表;<html:option>标签对应着<select>标签的选项<option>。 <html:submit>标签:对应着HTML中的<input type=“submit”>标签,可生成一个提交按钮。 <html:reset>:对应着HTML中的<input type=“reset”>标签,可生成一个重置按钮。 使用Bean标签库 Bean标签库在很大程度上和JavaBean有着关联,使用Bean标签库可实现对JavaBean和其他相关对象的操作。 Bean标签库提供如下几个标签。 <bean:cookie>标签:可用于访问Cookie信息。 <bean:define>标签:基于指定的JavaBean中的值来定义一个变量。 <bean: header>标签:可获得HTTP请求中指定的header的值。 <bean:include>标签:用于包含其他Web资源的内容,类似于JSP标签中的<jsp:include>和<jsp:include>,不同的是<bean:include>把其他Web资源的内容存放在一个变量中,而不是显示在页面上。 <bean:message>标签:用于从指定的Local中取回国际化的消息并输出。 <bean:page>标签:用于将上下文中的一个指定元素转换为Bean。 <bean:parameter>标签:用于获得HTTP请求中指定的参数值。 <bean:resource>标签:可获得指定的Web应用程序的资源,并作为Bean来使用。 <bean:size>标签:可获得一个Map(映射)或Collection(集合)的长度。 <bean:struts>标签:将Struts内置对象,如ActionFormBean、ActionForward或ActionMapping作为Bean来使用。 <bean:write>标签:用于显示一个指定Bean的属性的值。 使用Logic标签库 Logic标签库中的标签可以根据特定逻辑条件来控制输出网页内容,或者循环遍历集合中的所有元素,它分为以下3种。 条件判断标签:用于判断属性值是否为空(NULL)、相等、大于、小于和是否存在。 流程控制标签:用于将请求转发或重定向。 循环标签:用于对集合元素进行循环遍历。 1)条件判断标签 条件判断标签包括如下。 <logic:equal>:判断变量是否与指定的值相等。 <logic:notEqual>:判断变量是否与指定的值不相等。 <logic:greaterThan>:判断变量是否大于指定的值。 <logic:lessThan>:判断变量是否小于指定的值。 <logic:greaterEqual>:判断变量是否大于等于指定的值。 <logic:lessEqual>:判断变量是否小于等于指定的值。 <logic:present>:判断在某一个作用域范围内是否存在着某个变量。 <logic:notPresent>:与<logic:present>标签的作用相反。 <logic:match>:判断一个变量是否与指定的值相匹配。 <logic:notMatch>:判断一个变量是否与指定的值相匹配。 2)流程控制标签 流程控制标签包括如下两个。 <logic:forward>:将请求转发到全局ActionForward指定的响应页面。 <logic:redirect>:可实现重定向功能。 3)循环标签 目前,Struts中的循环标签只有一个,即<logic:iterate>标签。它可将集合中的元素进行循环遍历。 在JSP页面中使用<taglib>标签引入某个标签库,并且给予它一个对于该页面有效的前缀作为标记,那么就可以通过其前缀使用该标签库了。引入标签库的代码如下: <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> 在上面代码中,例如将Bean标签库的前缀定义为bean,则可通过前缀bean来引用Bean标签库了,示例如下: <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><html:html> <bean:write name="com.sunyang.User" property="username"/>

你可能感兴趣的:(html,bean,jsp,struts,input,include)