用Struts标签来写表单元件,
引用:
<%@ taglib uri="/tags/struts-html" prefix="html" %>
例如:
- form.jsp
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@page contentType="text/html; charset=Big5"%>
<html>
<head><title>Login</title></head>
<body>
Please login:<p>
<html:form action="/strutsapp/login.do"
method="post" focus="username">
username <html:text property="username" size="20"/><br>
password <html:password property="password" size="20"/><p>
<html:submit/>
</form>
</body>
</html>
<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="重清"/>
<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>
<bean:message key="button.save"/>
</html:submit>
<html:submit property="method">
<bean:message key="button.preview"/>
</html:submit>
<html:checkbox property="sa_car_flg" value="0" checked="checked" >xxx</html:checkbox>