Struts标签示例收藏

<html:form>指定的login必须在struts-config.xml中有定义,<html:text>与< html:password>会取出Action所搭配的ActionForm物件中对应的属性值,如果使用者填写的内容不正确而被送回表单页面,使用者将可以看到先前所填写的值,如果不想显示先前所填写的值,则将< html:text>与<html:password>的redisplay属性设定为false即可,这几个Struts标签必须与 Action物件及ActionForm物件搭配使用。

<html:form>
用来产生HTML表单标签,属性name可以指定所使用的ActionForm名称,如果没有指定,则自动匹配ActionMapping中的name属性,必须与<html:submit/>、<html:reset/>等表单相关标签使用,常用属性介绍如下:

    * action: 表单提交的URL
    * enctype: 提交表单时所使用的内容编码,上传档案时设定
    * multipart/form-data:文件上传
    * focus: 指定focus的元素名称
    * method: 表单提交的方式
    * name: 使用的ActionForm名称
    * scope: ActionForm作用范围
    * type: ActionForm类型
    * onreset: 表单被重置时呼叫的JavaScript
    * onsubmit: 表单被送出时呼叫的JavaScript

<html:text>、<html:password>
文字方块栏位与密码栏位,搭配<html:form>使用,如果<html:form>所使用的ActionForm有值,预设会显示在对应的栏位,当用属性如下:

    * property: 元素名称
    * size: 显示的字数
    * value: 元素初值
    * redisplay: 是否显示ActionForm的值

<html:submit>、<html:reset>
表单的submit按钮,搭配<html:form>使用,常用属性如下:
    * property: 元素名称
    * value: 按钮显示文字
    * onclick: 按下按钮后呼叫的JavaScript

使用范例:
<html:submit value="送出"/>
<html:reset value="重清"/>

搭配 <bean:message> 标签与讯息资源档的写法:
<html:submit property="method">
    <bean:message key="button.save"/>
</html:submit>
<html:submit property="method">
    <bean:message key="button.preview"/>
</html:submit>

1.html:link标签
用法1:
<html:link page="/html-link.do" paramId="paramName" paramName="paramValue">Content</html:link> 其中paramValue是在page、request、session或application中的一个属性名,一般为基本数据类型,也可以为对象。
用法2:
<html:link page="/html-link.do" paramId="paramName" paramName="beanName" paramProperty="oneProperty">Content</html:link>
用法3:
<html:link page="/html-link.do" name="oneHashMap">Content</html:link> 其中name是在page、request、session或application中的一个属性名,一般为Map。
用法4:
<html:link page="/html-link.do" name="beanName" property="oneHashMap">Content</html:link>
2.html:select标签
用法1:(下拉列表单选)
<html:select name="beanName" property="aPropertyForSelect" size="1">
<html:option value="aValue">aName</html:option>
<html:option value="bValue">bName</html:option>
</html:select>
或
<html:select name="beanName" property="aPropertyForSelect" size="1">
<html:optionsCollection name="beanName" property="aCollection" label="name" />
</html:select> 其中aCollection是一个集合类型的属性,内含一个JavaBean(该Bean的实现必须符合一定的规则)。
用法2:(列表单选)
<html:select name="beanName" property="aPropertyForSelect" size="3">
<html:option value="aValue">aName</html:option>
<html:option value="bValue">bName</html:option>
<html:option value="cValue">cName</html:option>
<html:option value="dValue">dName</html:option>
</html:select>
或
<html:select property="aPropertyForSelect" size="3">
<html:optionsCollection name="beanName" property="aCollection" label="name" value="value"/>
</html:select> 其中aCollection是一个集合类型的属性,内含一个JavaBean(该Bean的实现必须符合一定的规则)。
用法3:(列表多选)
<html:select multiple="true" name="beanName" property="aPropertyForSelect" size="3">
<html:option value="aValue">aName</html:option>
<html:option value="bValue">bName</html:option>
<html:option value="cValue">cName</html:option>
<html:option value="dValue">dName</html:option>
</html:select>
或
<html:select multiple="true" property="aArray" size="3">
<html:optionsCollection name="beanName" property="aCollection" label="name" value="value"/>
</html:select> 其中aCollection是一个集合类型的属性,内含一个JavaBean(该Bean的实现必须符合一定的规则)。aArray是一个数组用来接受所有选中的选项。
3.bean:message标签
<bean:message key="keyFromProperties"/>其中keyFromProperties是资源文件中的一个键值。这个资源文件是在struts-config.xml文件中由设置的。

Struts查找属性文件的方式:
A、.properties扩展名是嵌在代码中的,所以资源文件必须使用这个扩展名
B、Struts并不是单纯去找application.properties文件,而是首先找到application,然后加上下划线"_",然后再加上localeKey(如zh,en),然后再加上.properties($filename_$locale.properties)。 如果这里没有找到和locale对应的资源文件,Struts就使用application.properties,如果这个文件也没找到,Struts会报告错误。
C、确定了文件名之后,Struts使用了ClassLoader类的getResourceAsStream方法得到了一个InputStream
D、然后Struts使用了java.util.Properties类的load方法,将资源文件中的所有资源读出放到了一个HashMap里面
E、然后Struts就可以根据key值取出不同的message了
注释:资源文件的编码为ISO8859。
4.html:cancel标签
<html:cancel>valueForDisplay</html:cancel>其中valueForDisplay是html中button的显示名。该标签用来取消当前的Form。使用<html:cancel />时在Action中典型的处理方法:
if (isCancelled(request)) {
return mapping.findForward("somewherewhencanceled");
}
表示如果cancel则跳转的相应page。
5.logic:iterate标签
<logic:iterate id="id" name="beanName" property="aCollection">
//do something here
<logic:iterate>
该标签用来迭代一个集合。使用indexId可以得到当前的index,如下:
<logic:iterate id="id" indexId="i" name="beanName" property="aCollection">
<bean:write name="i"/> //这里打印出了index的值
</logic:iterate>
6.html:checkbox标签
<html:checkbox name="beanName" property="aPropertyName"/>
或
<html:checkbox name="beanName" property="aPropertyName">DisplayContent</html:checkbox>
其中aPropertyName一般为boolean类型的变量。get方法可以是getXXX,也可以是isXXX。
7.html:multibox标签
<logic:iterate id="pairValue" name="beanName" property="collection">
<html:multibox property="values">
<bean:write name="pairValue" property="value"/>
</html:multibox>
<bean:write name="pairValue" property="name"/>
</logic:iterate>
其中collection是集合类型。values是一个数组,用来接受提交的value值。
8.html:text标签
用法1:
<html:text property="aValue"/>
用法2:
<html:text name="beanName" property="aValue"/>
9.html:textarea标签
用法1:
<html:textarea property="aValue" />
用法2:
<html:textarea name="beanName" property="aValue" />
10.html:radio标签
用法1:
<html:radio property="aProperty" value="aValue"/>
用法2:
<html:radio name="beanName" property="aProperty" value="aValue"/>
其中aProperty的名字相同的被分为一组。
用法3:
<logic:iterate id="pairValue" name="beanName" property="collection">
<html:radio property="aProperty" idName="pairValue" value="value"/>
</logic:iterate>
其中aProperty用来接受提交的值。
11.html:form标签
<html:form action="aAction"></html:form>
12.bean:header标签
<bean:header id="agent" name="User-Agent"/>该标签用来操作request的header,从header中读出相关信息。
13.logic:match标签
用法1:
<logic:match header="User-Agent" value="Mozilla">Mozilla Browser</logic:match>
从header中取出User-Agent的值,然后与value的值匹配,匹配则显示body,否则不显示body。 

你可能感兴趣的:(struts)