Struts1和2常用的标签

Struts1常用标签

Struts提供了五个标签库,即:HTML、Bean、Logic、Template和Nested。 A.Html 标签库

<html>标签:它有两个属性:locale和xhtml,两者都不是必需的。 

<base>标签:表示所包含页面的绝对位置。这个标签只有内嵌在head标签中才有效。 <html:base/>
 <img>标签:最重要的属性page:图象文件的路径,前面必须带有一个斜线。其它属性:heignt、width、alt。    

<link>标签 :<html:link page=\"/index.html\">Click demo</html:link>。<html:link>标签forward属性:链接到一个global forward上;action属性:链接到一个action mapping上;href属性:这个链接会转发给控制器,由控制器做决定;page属性:一个相对的链接。 <errors>标签:通过一个简单的<html:errors/>标签,你就可以在一个JSP页面上显示完全自定义的错误信息。功能超强大!!

<form>标签系列
使用<form>标签时必须遵循一些规则:标签中必须包含一个action属性,它是这个标签中唯一必需的属性。如果不具备该属性则JSP页面会抛出一个异常。之后你必须给这个action属性指定一个有效值。一个有效值是指应用程序的Struts配置文件中元素里的任何一个子元素的访问路径。而且相应的元素中必须有一个name属性,它的值是form bean的名称。 <html:form action=\"/login\" > 

任何包含在<form>中用来接收用户输入的标签(<text>、<password>、<hidden>、<textarea>、<radio>、<checkbox>、<select>)必须在相关的form bean中有一个指定的属性值。比如,如果你有一个属性值被指定为“username”的<text>标签,那么相关的form bean中也必须有一个名为“username”的属性。输入<text>标签中的值会被用于生成form bean的userName属性。

<form>标签还有一些不是必须但很有用的“次要”属性。
比如,你可以用focus属性来生成JavaScript,它会“定焦”(focus)到该form所包含的一个元素上。使用focus属性时你需要给它指定元素的名称。

<text>标签、<hidden>标签、<textarea>标签、<radio>标签、<checkbox>标签、<submit>标签、<reset>标签:
都有一个property属性,最后会被转换成HTML中的name属性,当然还有name和value属性。

<password>标签    <html:password property=\"password\"   redisplay=\"false\"/> 该标签中的一个很重要的属性是"redisplay",它用于重新显示以前输入到这个区域中的值。该属性的缺省值为true。然而,为了使password不能被重新显示,你或许希望将该属性的值设为false。

<html:select> 的属性:property-与ActionForm中的某个属性对应;size-显示option的数目;multiple-默认为fales,表示不能多选,当设定为true时,property对应的ActionForm的属性必须为数组。

<html:option>的属性:key、local、bundle-指定Resource Bundle中的内容。
<html:options>标签,提供了一组<option>元素,在<html:select>元素中可以包含多个<html:options>元素。非常灵活,可以取得集合或数组中的值。
<html:optionsCollection>标签,和<html:options>的用法很相似。

B bean标签库

bean:cookie、bean:header、bean:parameter这三个标签用来重新得到cookie, request header和request parameter。

bean:define:有三个用途。一是定义新字符串常量:二是复制一个现有的bean给新的bean:   三是复制一个现有的bean的属性给新的bean

bean:include这个标签和bean:include标签和相似,不同点就是它定义了一个可以复用的脚本变量。用id属性命名一个新的脚本变量,还支持forward、href、page和transaction.属性,和html:link中的属性意义一样。 <bean:include id="footerSpacer" page="/long/path/footerSpacer.jsp"/> 

bean:message用来实现对国际化的支持的一个标签,配合java.util数据包中定义的Locale和ResourceBundle类来完成这个任务,用java.text.MessageFormat类配置消息的格式。

    首先要指定资源文件的名称。这个文件会包含用默认语言编写的在程序中会出现的所有消息,这些消息以“关键字-值”的形式存储。文件需要存储在类路径下,路径要作为初始化参数传送给ActionServlet。
    实现国际化的规定:所有的资源文件必须都存储在基本资源文件所在的目录中。基本资源文件包含的是用默认地区语言-本地语言编写的消息。如果基本资源文件的名称是ApplicationResources.properties,那么用其他特定语言编写的资源文件的名称就应该是ApplicationResources_xx.properties(xx为ISO编码,如英语是en)。因此这些文件应包含相同的关键字,但关键字的值是用特定语言编写的。
    然后,ActionServlet的区域初始化参数必须与一个true值一起传送,这样ActionServlet就会在用户会话中的Action.LOCALE_KEY关键字下存储一个特定用户计算机的区域对象。现在可以运行一个国际化的web站点,它可以根据用户计算机上的设置的区域自动以相应的语言显示。

bean:page:把Jsp中的内部对象做为脚本变量。 <bean:page id="requestObj" property="request"/>

bean:resource:获得应用程序的资源,这个资源可以是一个String或从java.io.InputStream中读入。使用ServletContext.getResource()ServletContext.getResourceAsStream() 方法检索web应用中的资源,如果在检索资源时发生问题,就会产生一个ruquest time异常。 <bean:resource id="webxml" name="/WEB-INF/web.xml"/>

 bean:size:得到存储在array、collection或map中的数目,类型为java.lang.Integer。 <bean:size id="count" name="employees" /> 

 bean:struts:复制Struct 对象(三种类型)给新的bean,scope为page

bean:write:以字符串形式输出bean的属性值。filter属性:设为true时,将HTML保留字转换为实体("<" 转换为 &lt);ignore属性:如果对象不存在,不会抛出异常。 <bean:write name="userRegistration" property="email" scope="request"/> 


Struts2常用标签


1.1.往action里传值的使用方式: 
<input name="userName" type="text" class="input6" size="15"> 
a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法。 
b. 可以不在访问的action中提供相应的属性,用request.getParameter(“userName”);

1.2.显示标签 property 用于输出指定值: 
<s:property value=" userName "/> 当action返回到指定页面是,可以通过该标签显示action中的属性信息。(注 userName必须在action中存在,并有GET方法)。 

1.3.往对象中传值<s:textfield> 用于从页面往action中的对象内传值: 
<s:text name="user. userName " id="username"/> 
该标签可以在页面中向action中的实体对象内直接传值。(注:在action中要存在user对象,并有SET/GET方法。) 

1.4.判断<s:if> </s:if> 用于在页面中判断指定数据 
<s:if test="userName == admin">…. </s:if> 
<s:else>…. </s:else> 
该标签用于对指定的数据进行判断,但指定的数据必须在action中存在。 

1.5.迭代<s:iterator>用于将List、Map、ArrayList等集合进行循环遍历 
<s:iterator value="userList" id="user" status="u"> 
<s:property value="userName"/></a> 
</s:iterator> 
该标签用于将userList集合中的元素进行循环,用过property进行显示集合中的指定元素值。 

1.6.URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>子元素向URL地址发送请求参数 
<s:url action=" "> 
           <s:param name=" " value=""></s:param> 
</s:url> 
其中action为请求地址,param子元素为地址后面所带的参数。 

1.7.超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。 
<a href=" 
<s:url action=" "> 
      <s:param name=" " value=""></s:param> 
      <s:param name=" " value=""></s:param> 
      <s:param name=" " value=""></s:param> 
      </s:url>"> 
超链接</a> 

1.8.set标签,用于将某个值放入指定的范围内。例如application,session等。 
<s:set name="user" value="userName" scope=”request”/> 
将user值放入request范围内。 

参考文档:

http://hi.baidu.com/xzkcz/item/ea404e209a8eca8f9c63d1ab

http://hu-ping888.iteye.com/blog/173650

总结一下,类似于struts这样的前台标签有很多,struts我也根本不用了,里面的标签也不是能有机会用到,正好翻到以前的一篇学习记录,就把内容整理过来了。


转载于:https://my.oschina.net/zimingforever/blog/213005

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值