Struts标签示例收藏

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

<html:form>
用来产生HTML表单标签,属性[color=red]name[/color]可以指定所使用的ActionForm名称,[color=red]如果没有指定,则自动匹配ActionMapping中的name属性[/color],必须与<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>
[/size]

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。
内容概要:本文介绍了多种开发者工具及其对开发效率的提升作用。首先,介绍了两款集成开发环境(IDE):IntelliJ IDEA 以其智能代码补全、强大的调试工具和项目管理功能适用于Java开发者;VS Code 则凭借轻量级和多种编程语言的插件支持成为前端开发者的常用工具。其次,提到了基于 GPT-4 的智能代码生成工具 Cursor,它通过对话式编程显著提高了开发效率。接着,阐述了版本控制系统 Git 的重要性,包括记录代码修改、分支管理和协作功能。然后,介绍了 Postman 作为 API 全生命周期管理工具,可创建、测试和文档化 API,缩短前后端联调时间。再者,提到 SonarQube 这款代码质量管理工具,能自动扫描代码并检测潜在的质量问题。还介绍了 Docker 容器化工具,通过定义应用的运行环境和依赖,确保环境一致性。最后,提及了线上诊断工具 Arthas 和性能调优工具 JProfiler,分别用于生产环境排障和性能优化。 适合人群:所有希望提高开发效率的程序员,尤其是有一定开发经验的软件工程师和技术团队。 使用场景及目标:①选择合适的 IDE 提升编码速度和代码质量;②利用 AI 编程助手加快开发进程;③通过 Git 实现高效的版本控制和团队协作;④使用 Postman 管理 API 的全生命周期;⑤借助 SonarQube 提高代码质量;⑥采用 Docker 实现环境一致性;⑦运用 Arthas 和 JProfiler 进行线上诊断和性能调优。 阅读建议:根据个人或团队的需求选择适合的工具,深入理解每种工具的功能特点,并在实际开发中不断实践和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值