<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标签解压包是一个非常实用的资源,尤其对于那些正在学习或已经在使用Struts2框架的开发者来说。...所以,收藏这个"Struts标签解压包",无疑是在积累宝贵的编程资源,对个人职业发展大有裨益。
JSP页面通常会包含Struts标签库,如`<s:form>`、`<s:textfield>`等,以便与Action和Form Bean交互。 6. **国际化和本地化**:为了支持多语言环境,项目可能使用资源文件(如message.properties)进行文本的国际化...
文件夹如"Struts2 标签库讲解 - HZЮ的日志 - 网易博客_files"、"struts标签实现博客园的分页 - 垚淼 - 博客园_files"等可能包含了示例代码或样式资源,供开发者参考和复制到自己的项目中,以实现类似的功能。...
描述中提到“做收藏,不建议下载”,这可能意味着这个主题是关于如何在Struts中实现WML显示的一个示例或者教程,而不是一个实际的应用程序,因此,它可能更适合于学习和参考,而不是直接用于生产环境。 在标签...
4. **Struts标签**:Struts2框架引入了一套强大的标签库,简化了JSP页面的编写,提高了可维护性和可读性。例如,`s:textfield`用于创建输入字段,`s:submit`创建提交按钮,`s:form`定义表单,这些标签大大降低了视...
【标签】"extjs2.0的经典项目实例" 暗示这个项目是基于ExtJS 2.0版本的一个经典示例。ExtJS是一个强大的JavaScript库,用于构建富互联网应用程序(RIA)。2.0版本虽然较旧,但依然包含了丰富的组件和功能,如数据...
在“JavaScript经典源码收藏-jsp.rar”这个压缩包中,包含了一个名为"JavaScript经典源码收藏.jsp"的文件,我们可以推测这可能是一个关于JavaScript与JavaServer Pages(JSP)结合使用的示例或学习资料。下面将详细...
在提供的脚本示例中,我们看到了JavaScript在网页行为控制、时间显示、用户交互等方面的应用。 1. 自动播放声音:脚本1使用`<embed>`标签来嵌入音频资源,并通过`hidden=true`, `autostart=true`, `loop=true`属性...
这表明压缩包中可能包含关于这三个领域的教程、笔记、代码示例或者是开发者收藏的重要链接。 1. **Android**:Android是谷歌公司主导的开源移动操作系统,广泛应用于智能手机和平板电脑。开发者可能在压缩包中收集...
2.如何使用示例代码 3.我为什么要学习Wicket? 3.1。我们都喜欢意大利面:-) ... 3.2。面向组件的框架 - 概述 3.3。面向组件的Web开发框架的优点 3.4。Wicket与其他面向组件的框架相比 威克特说“你好世界!” 4.1。...
这个源码可能是利用Java Servlet、JSP(JavaServer Pages)以及相关的Java Web框架,如Spring MVC或Struts2,来实现动态网页功能。 【描述】提到的"在线聊天系统"是该网站的一个核心特性,它可能采用了WebSocket...