j2ee学习struts1.x总结2
******html标记库
1.生成非表单标记
<html:html>
--类似于html中的html标签
<html:base>
--页面中使用了该属性的情况下,在引用同一应用中的其他资源的时候只需要给出相对路径
<html:link{forward=""}|{href=""}|{page=""}>
--使用forward属性,forward给出的是在struts-config中<global-forwards>标签中的<forward>中的name的值
--使用href属性,需要给出完整的utl路径信息
--使用page属性,可以使用相对路径链接到同一个应用的其他页面或者资源,同时还可以通过在rul中拼接参数来实现参数的传递
<html:imgpage="">
--将page指定的图片加载进来
2.生成表单标记
<html:formpath="...">
--path属性值需要和struts-config中的<action>中的path属性值一致
<html:textproperty="">
--对应html中的文本框
<html:hiddenproperty=""value="">
--对应html中的隐藏表单
<html:checkboxproperty="***">
--该标记所对应的ActionForm对象的***属性,并且该属性必须是boolean类型的
<html:multiboxproperty=""value="">
--对应html中的复选框
<html:radioproperty=""value="">
--对应html中的单选框
<html:select>
--格式:
<html:selectproperty=""multiple="true|false"size="">
<html:optionvalue=""></html:option>
<html:optionvalue=""></html:option>
...
</html:select>
--当multiple为true时,下拉列表允许是多选
--size指定了下拉列表同时显示几个列表项
<html:submit>
--<html:submit>提交</html:submit>
<html:reset>
--<html:reset>重置</html:reset>
3.错误信息输出标记<html:errors/>
1>显示错误信息的来源1
ActionErrorserrors=newActionErrors();
errors.add("name",newActionError("error.name"));
2>编写外部错误信息文件
创建.properties文件,在文件写出键值error.name所对应的值
3>在struts-config中错误信息的文件配置
<message-resourcesparameter="文件的路径和名称(不包含扩展名)"/>
4><html:errors/>
--将ActionErrors对象中存放的所有错误信息显示在页面上
5><html:errorsproperty="name"/>
--只显示指定名字的错误信息
******bean标记库
1.变量定义标记<bean:define>
1><bean:defineid="v_name"value="v_value"toScope="request"/>
--定义request作用域的变量v_name
2><bean:defineid="bean2"name="bean1"scope="page"toScope="session"/>
--复制page作用域中现有的对象bean1来创建session作用域中新的对象bean2
3><bean:defineid="testString"name="bean1"property="name">
--复制现有对象bean1的属性name来创建新的变量testString
2.显示数据标记
name指定要显示的数据或者bean的名称
property如果要显示的数据时bean中的一个属性,则需要指定该属性的名字
scope设定数据的范围,默认情况下是按照page到application的顺序来搜索的
3.国际化标记<bean:message/>
用于进行国际化信息输出
1>资源文件中有:
hello.someone=Hello,{0}!
2>在页面中:
<bean:messagekey="hello.someone"arg0="Tom"/>
4.其他标记
<bean:cookie>用于访问cookie的信息
<bean:header>用于访问http请求中的header信息
<bean:parameter>用于访问请求中的参数
<bean:page>用于访问jsp中的隐式对象
<bean:struts>用于当问struts框架中内置的对象
<bean:include>用于包含一个Web资源,类似于<jsp:include>
<bean:size>用于获取Map或Collection的长度
******logic标记库
1.比较运算符标记
<logic:equalname=""property=""value="">...</logic:equal>
<logic:notEqualname=""property=""value="">...</logic:notEqual>
<logic:greaterEqualname=""property=""value="">...</logic:greaterEqual>
<logic:lessThanname=""property=""value="">...</logic:lessThan>
<logic:greaterThanname=""property=""value="">...</logic:greaterThan>
<logic:lessEqualname=""property=""value="">...</logic:lessEqual>
2.字符串匹配标记
<logic:matchname=""value="">...</logic:match>
--判断name指定的变量中是否包含value值
<logic:notMatchname=""value="">...</logic:notMatch>
--判断name指定的变量中是否不包含value值
3.判断数据是否存在标记
<logic:emptyname="">...</logic:empty>
--判断name指定的变量是否为null或者空字符串
<logic:botEmptyname="">...</logic:notEmpty>
--判断name指定的变量是否不为null或者空字符串
<logic:presentname="">...</logic:present>
--判断name指定的对象是否存在
<logic:notPresentname="">...</logic:notPresent>
--判断name指定的对象是否不存在
4.循环遍历标记
<logic:iterateid="element"indexid="index"name="">
<bean:writename="element"[property="key|value"]/>
</logic:iterate>
--<logic:iterate>中的name,指定的是遍历的对象
--indexId是当前遍历的次数
--当遍历的对象是map的时候,需要通过指定property来访问key和value值
5.请求转发或重定向标记
<logic:forwardname=""/>
--需要在struts-config中配置
<global-forwards>
<frowardname=""path="">
</global-forwards>
--两个name的值必须相同
<logic:redirect{href=""}|{forward=""}|{page=""}/>
--用法类似于<html:link/>