Struts1 标签 笔记

Struts html 标签库

用于生成基本的html元素的标签

(1)<html:htmllang="true">根据HttpSession中的Locale对象来决定语言;或http-header中的accept-language;根据默认locale输出语言;

<htmllang="zh-CN">

(2)<html:base>在<head>部分生成〈base〉元素,生成当前网页的绝对url路径。

(3)<html:linkforward="指定全局转发连接"href="指定完整的url连接"page=“指定相对于当前网页的url”><a>

(4)<html:rewrite>uri

例如:

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

<html:linkforward="index"></html:link>

对应<ahref="/**/index.jsp"></a>

<html:linkhref="http://www.sina.com"></html:link>

对应<ahref="http://www.sina.com"></a>

<html:linkpage="/**.do"></html:link>

对应<ahref="/**/**.do">relative</a>

<html:linkpage="/**.do"paramid="urlParamName"paramname="stringBean"></html:link>stringBean数值为ValuetoPassonurl

<html:linkpage="/**.do"paramid="urlParamName"paramname="customerBean"paramProperty="name"></html:link>customerBean.name数值为weiqin

<html:rewritepage="/**.do"paramid="urlParamName"paramname="stringBean"/>

<html:rewritepage="/**.do"paramid="urlParamName"paramname="customerBean"paramProperty="name"/>

对应:

<ahref="/**/**.do?urlParamName=Value+to+Pass+on+url"></a>

<ahref="/**/**.do?urlParamName=weiqin"></a>

/**/**.do?urlParamName=Value+to+Pass+on+url

/**/**.do?urlParamName=weiqin

<html:linkpage="/**.do"name="map"/>map为一个map类型的变量,存放参数名及其值;

(5)<html:imgpage="/**.gif">page属性的值为相对于当前页面的地址;

  <img src="/**/*.gif">

基本的表单标签

(1)<html:formaction="actionName.do">action属性指定用户提交表单后,处理用户请求的组件;

<formname="actionNameForm"method="post"action="**/actionName.do">

struts将在配置文件中查找对应的action组件:

例如

<actionpaTH="/actionName"type="..."name="actionNameForm"scope="session"validate="false">

<forwardname=""path=""/>

</action>

(2)<html:textproperty="***"/>

(3)<html:cancel/>

<inputtype="submit"name="***"value="**">

(4)<html:reset/>

<inputtype="reset"name="***"value="**">

(5)<html:cancel/>

<inputtype="submit"name="***"value="**">

(6)<html:hiddenproperty=""/>

<inputtype="hidden"name="**"value=""/>

检查框和单选按钮标签

(1)<html:checkbox property="**" value=“true/false”> property必须为boolean value属性用来设置用户选中检查框时的值;默认true

<inputtype="checkbox"name="**"value="true/false">

(2)<html:multiboxproperty="some_array"value="default_value"/>

(3)<html:radioproperty="radioVal"value="">

<inputtype="radio"name="radioVal"value="">

下拉列表和多选列表

(1)<html:selectproperty="custId">简单类型

<html:selectproperty="colors"size="6"multiple="true">数组类型

(2)<html:optionvalue="val1"></html:option>

<html:optionvalue="***"bundle="**.**"key="**.red"/>

bundle指定resourcebundle,它和struts-config.xml中的〈message-resources>元素的key属性(资源文件名)匹配;

key指定资源文件中的key-value中的key;

(3)<html:optionscollection=""property="value"labelProperty="label"/>

collection指定了存放可选项的集合;page范围;

property指定了集合中可选项的实际值;

labelProperty指定了可选项的显示值;

(4)<html:optionsCollection property="customers" label="name" value="custId"/>

property指定了存放可选项的集合;page范围;

value指定了集合中可选项的实际值;

label指定了可选项的显示值;

文件标签

<html:fileproperty="file"/>property为FormFile类型;

此标签必须在<html:form>标签中;且form的enctype=“multipart/form-data”method="post"

<html:errors>

<html:errors>标签

用于输出错误消息;

2类错误:全局错误;字段级错误;

此标签在request和session范围内寻找ActionMessages或子类ActionErrors,再从ActionMessages集合中读取ActionMessage对象,把ActionMessage对象包含的消息

文本显示到网页上。

Globals.ERROR_KEY默认的值;

ActionFormBean中的validate返回ActionErrors,由requestProcessor将其存入request范围;

Action类的execute()方法中可以生成ActionMessages对象,

ActionMessageserrors=newActionMessages();

errors.add("message_key",newActionMessage("i18.message.key",some_value_insert_into_value));

saveErrors(request,errors);

显示错误消息

<html:errorsname="key;defaultvalueGlobals.ERROR_KEY"property="消息属性,若不设置,显示ActionMessages对象中的所有的ActionMessage"bundle=“ResourceBundle,若没显示,从默认的resourcebundle中取值”>

显示的文本放在resource bundle中。

例如:

errors.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage("***.**.**"));

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

<html:errors bundle="**"/> bundle 定义在struts-config.xml

errors.add("checkbox1" , new ActionMessage("error.checkbox"));<html:errors property="checkbox1" bundle="***"/>

<html:messages>标签

<html:messagesid="message"message="true">

<td><bean:writename="message"/></td>

</html:messages>

name:指定ActionMessages对象存放的key;

message:指定消息来源true表示,从request/session中寻找key为Globals.MESSAGE_KEY的ActionMessages对象,此时name属性无效;

false表示,根据name属性来检索ActionMessages对象,若没有设置name,则采用默认值Globals.ERROR_KEY.

id:命名从消息集合检索到的每个ActionMessage对象,它和<bean:write>标签的name属性匹配。

ActionMessages actionMessages = new ActionMessages();

actionMessages.add(ActionMessages.GLOBAL_MESSAGE,newActionMessage());

saveMessages(request,actionMessages);

相关推荐