Struts HTML 标签库

  Struts HTML 标签库

12.1 用于生成基本的HTML元素的标签

<html:html>标签:生成HTML<html>元素

lang属性,用于显示用户使用的语言,当lang属性为true时,<html:html>标签将先根据存储在当前HttpSession中的Locale对象来输出网页使用的语言,若不存在HttpSession或者HttpSession中没有Locale对象,就根据浏览器提交的HTTP请求头中的Accept-Language属性来输出语言,如果此属性不存在,就根据默认的Locale来输出语言

示例:

<html:html lang="true">

<html:base>标签:生成HTML<base>元素,用于生成当前网页的绝对URL路径,如果在网页中使用了该标签,当该网页引用同一个应用的其他网页时,只需给出相对于当前网页的相对URL路径

示例:

<html:base />

<html:link>标签:生成HTML Anchor<a>元素

forward属性,指定全局转发路径,此属性只能和struts-config.xml文件中<global-forwards>元素中的<forward>子元素匹配
href属性:指定完整的URL链接
page属性:指定相对于当前网页的URL
paramId属性:指定请求参数名
paramName属性,指定变量名
paramProperty属性,指定JavaBean的属性
name属性,指定包含请求变量的HashMap对象。每一个"key/value"代表一对或多对"请求参数名/请求参数值"

示例:

1、创建全局转发链接

在struts-config.xml配置文件的<global-forwards>元素中定义一个<forward>元素:

<global-forwards>
    <forward name="index" path="/index.jsp" />
</global-forwards>

在JSP文件中可定义:

<html:link forward="index">Link</html:link>

2、创建具有完整URL的链接

<html:link href="http://www.baidu.com">Link</html:link>

3、从当前网页中创建相对URL

<html:link page="/HtmlBasic.do">Link</html:link>

4、在URL或URI中包含单个请求变量

<%
String stringBean = "value"
pageContext.setAttribute("stringBean ",stringBean );
%>
<html:link page="/HtmlBasic.do" paramId="urlParamName" paramName="stringBean ">Link</html:link>

5、在URL或URI中包含多个请求变量

<%
java.util.HashMap myMap = new java.util.HashMap();
myMap.put("myString", new String("myStringValue"));
myMap.put("myArray", new String[]{"arg1","arg2","arg3"});
pageContext.setAttribute("map", myMap);
%>
<html:link page="/HtmlBasic.do" name="map">Link</html:link>

<html:rewrite>标签:生成用户请求的URI

forward属性,指定全局转发路径
href属性:指定完整的URL链接
page属性:指定相对于当前网页的URL
paramId属性:指定请求参数名
paramName属性,指定变量名
paramProperty属性,指定JavaBean的属性

示例:

1、在URL或URI中包含单个请求变量

<%
String stringBean = "value"
pageContext.setAttribute("stringBean ",stringBean );
%>
<html:rewrite page="/HtmlBasic.do" paramId="urlParamName" paramName="stringBean "/>

2、在URL或URI中包含多个请求变量

<%
java.util.HashMap myMap = new java.util.HashMap();
myMap.put("myString", new String("myStringValue"));
myMap.put("myArray", new String[]{"arg1","arg2","arg3"});
pageContext.setAttribute("map", myMap);
%>
<html:rewrite page="/HtmlBasic.do" name="map" />

<html:img>标签:生成HTML<img>元素

page属性:指定相对于当前网页的URL
src属性,指定完整的URL
paramId属性:指定请求参数名
paramName属性,指定提供参数值的请求变量

示例:

1、生成基本<img>元素

<html:img page="struts.jpg">

2、生成单个请求变量的<img>元素

<%
String stringBean = "value"
pageContext.setAttribute("stringBean ",stringBean );
%>
<html:img src="struts.jpg" paramId="urlParamName" paramName="stringBean "/>

3、生成多个请求变量的<img>元素

<%
java.util.HashMap myMap = new java.util.HashMap();
myMap.put("myString", new String("myStringValue"));
myMap.put("myArray", new String[]{"arg1","arg2","arg3"});
pageContext.setAttribute("map", myMap);
%>
<html:img src="struts.jpg" name="map" />

12.2 基本的表单标签

<html:form>标签:生成HTML<form>元素

action属性,用来指定当用户提交表单后,处理用户请求组件

创建表单 <html:form action="Basic.do">

在struts-config.xml配置文件中,与Basic.do对应的配置:

<action path="/Basic"
               type="cn.com.action.BasicAction"
               name="BasicForm"
              scope="request"
            validate="true"
            input="/Basic.jsp">
     <forward name="success" path="/Basic.jsp"/>
     <forward name="failed" path="/error.jsp"/>    
</action>

<html:text>标签:生成HTML<input type="text">元素

property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配

创建文本框字段 <html:text property="value">

<html:hidden>标签:生成HTML<input type="hidden">元素

property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配
write属性,把ActionFrom Bean中的property属性的值回显在网页上

生成隐藏字段 <html:hidden property=“value” write=“true”>

<html:submit>标签:生成HTML<input type="submit">元素

生成提交按钮 <html:submit>Submit</html:submit>

<html:cancel>标签:在表单上生成取消按钮

生成取消按钮 <html:cancel>Cancel</html:cancel>

<html:reset>标签:生成HTML<input type="reset">元素

生成复位按钮 <html:reset>Reset</html:reset>

12.3 检查框和单选按钮标签

<html:checkbox>标签:生成HTML<input type="checkbox">元素

value属性,用来设置用户选中检查框时的值,默认值为true
property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配

在页面创建复选框 <html:checkbox property="box" value="true">

<html:multibox>标签:在表单上生成复选框元素

property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配
value属性,用来设置用户选中检查框时的值,为数组的内容

在页面创建动态复选框:

在ActionForm Bean中定义一个数组,用来存放所有CheckBox的值

private String strArray[] = new String[0]
public String[] getStrArray(){ return (this.strArray); }
public void setStrArray(String strArray[]){ this.strArray = strArray; }

在表单中加入<html:multibox>标签,通过设置property来和ActionFormBean中的数组关联,并设置初始值

<html:multibox property="strArray" value="Value1"/>或者<html:multibox property="strArray">Value1</html:multibox>

 

<html:radio>标签:生成HTML<input type="radio">元素

property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配
value属性,用来设置用户选中检查框时的值

在页面创建单选框 <html:radio property="strRadio" value="Value1"/>

12.4 下拉列表和多选列表标签

<html:select>标签:生成HTML<select>元素

size属性,指定每次在网页上显示的可选项的数目
multiple属性,指定是否支持多项选择,设置为true,表示多选列表,支持多项选择;否则表示下拉列表,只支持单选选择。默认值为false
property属性,指定字段的名字,和ActionFrom Bean中的属性字段匹配,这个属性用来存放用户在列表上选中选项的值,在多项选择的情况下,ActionForm Bean中的对应属性应该定义为数组类型。

示例:

<html:select property="propertyName" multiple="true" size="6">
    [more <html:option>,<html:options>,<html:optionCollection> tags]
</html:select>

<html:option>标签:生成HTML<option>元素

bundle属性,指定资源包(Resource Bundle)和struts-config.xml文件中<message-resources>元素的key属性匹配
key属性,和资源文件中的消息key匹配
value属性,指定可选项的实际值

示例:<html:option value="apple">Apple</html:option> 或者

在struts-config.xml配置文件中要定义<message-resources>元素:

<message-resources parameter="HtmlColor" key="color">

在资源文件HtmlColor.properties中要定义:red=RedApple

<html:option>标签可用:<html:option value="apple" bundle="color" key="red" />

<html:options>标签:生成一组HTML<option>元素

collection属性,指定存放可选项的集合(集合应存在于page范围内)
property属性,指定集合中可选项的实际值
labelProperty属性,指定集合中可选项的显示值

示例:

定义一个Vector集合,存放在page范围内:

<%
Vector colorCollection = new Vector();
colorCollection.add(new org.apache.struts.util.LabelValueBean("Apple", "red"));
colorCollection.add(new org.apache.struts.util.LabelValueBean("Orange", "orange"));
pageContext.setAttribute("colorCollection", colorCollection);
%>
<html:options collection="colorCollection" property="value" labelProperty="label"/>

<html:optionsCollection>标签:生成一组HTML<option>元素

name属性,指定包含可选项集合的JavaBean的名字
property属性,指定可选项集合
value属性,指定集合中可选项的实际值
label属性,指定集合中可选项的显示值

12.5 在表单中上传文件标签

<html:file>标签:生成HTML<input typr="file">元素,提供从HTML表单中上传文件

使用<html:file>标签实现文件上传:

<html:file>标签必须嵌套在<html:form>标签中
<html:form>标签的method属性必须设为"post"
<html:form>标签的编码类型enctype属性必须设为"multipart/form-data"
<html:file>标签必须设置property属性,这个属性和ActionForm Bean中FormFile类型的属性对应

<html:form action="HtmlFile.do" method="post" enctype="multipart/form-data">
     <html:file property="file" />
     <html:submit />
</html:form>

12.6 <html:errors>标签

<html:errors>标签,用于输出错误消息,可以放在网页的任何地方

name属性,指定ActionMessages对象存放在request或session范围内的属性key。默认值为Globals.ERROR_KEY
propertity属性,指定消息属性,若此项没有设置,将显示ActionMessages对象中所有的ActionMessage
bundle属性,指定资源包(Resource Bundle),若此项没有设置,将从默认的Resource Bundle中获取消息文本

示例:

1、显示全局消息

<html:errors property="org.apache.struts.action.GLOBAL_MESSAGE"/>

2、显示所有的消息

在struts-config.xml配置文件中对资源文件的配置:

<message-resources parameter="HtmlErrors" key="Errors"/>

在页面使用<html:errors>标签显示所有消息:<html:errors bundle="HtmlErrors"/>

3、显示和特定表单字段关联的消息

<html:errors property="checkbox" bundle="HtmlErrors"/>

 

12.7 <html:messages>标签

<html:messages>标签,可以在网页上输出消息

name属性,指定ActionMessages对象存放在request或session范围内的属性key。
message属性,指定消息的来源,默认值为false
id属性,用来命名从消息集合中检索出的每个ActionMessage对象,和<bean:write>标签的name属性匹配

示例:

<html:messages id="message" message="true">
   <bean:wtrite name="message"/>
</html:messages>

<script type=text/javascript> addthis_pub= 'wolfit'; addthis_logo= 'http://download.rainbowsoft.org/image/common/zbloglogo.gif'; addthis_brand= 'Z-Blog'; addthis_options= 'favorites, delicious, twitter, digg, myspace, facebook, google, live, email, more'; </script> <script src="http://s7.addthis.com/js/152/addthis_widget.js" type=text/javascript></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值