概述
- 表单标签将在 HTML 文档里被呈现为一个表单元素
- 使用表单标签的优点:
- 表单回显
- 对页面进行布局和排版
- 标签的属性可以被赋值为一个静态的值或一个 OGNL 表达式. 如果在赋值时使用了一个 OGNL 表达式并把它用 %{} 括起来,
这个表达式将会被求值.
表单标签的共同属性
* 该属性只在没有使用 simple 主题时才可以使用.
form 标签
使用方式:
textfield, password, hidden 标签
submit 标签
reset 标签
label 标签
textarea 标签
checkbox 标签
checkboxlist 标签
radio 标签
radio 标签将呈现为一组单选按钮, 单选按钮的个数与程序员通过该标签的 list 属性提供的选项的个数相同.
一般地, 使用 radio 标签实现 “多选一”, 对于 “真/假” 则该使用 checkbox 标签.
select 标签
select 标签将呈现一个select 元素
上述UI标签使用方式的源码
<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
<%@page import="cn.itcast.ognl.Person"%>
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="description" content="page">
</head>
<body>
<s:form action="abcdaction" namespace="/abcd" method="post" id="form1" name="form1">
<s:textfield label="用户名" value="zhangxx" id="username" name="username"></s:textfield>
<s:password label="密码" value="888888" id="psw" name="psw" showPassword="true"></s:password>
<s:hidden label="隐藏" id="hidden" name="hidden"></s:hidden>
<s:label for="gender" value="male" label="性别"></s:label>
<s:textarea value="xxxxx" cols="10" rows="10" label="描述"></s:textarea>
<!--
<input type="checkbox" name="java" value="01" id="form1_java"/>java
-->
<s:checkbox name="java" label="java" fieldValue="01"></s:checkbox>
<!-- checkboxlist标签构造map集合 -->
<!--
<input type="checkbox" name="list" value="01" id="list-1"/>java</label>
<input type="checkbox" name="list" value="02" id="list-2"/>php</label>
<input type="checkbox" name="list" value="03" id="list-3"/>.net</label>
<input type="checkbox" name="list" value="04" id="list-4"/>oracle</label>
listkey:对应生成HTML代码后的,value属性
listvalue:对应生成HTML代码后的,后半部分文本内容
-->
<s:checkboxlist list="#{'01':'java','02':'php','03':'.net','04':'oracle'}"
listKey="key" listValue="value" name="map" value="{'01','02'}" />
<!-- checkboxlist标签构造list集合 -->
<s:checkboxlist list="{'java','.net','php'}" name="list" value="{'java','php'}"></s:checkboxlist>
<!-- checkboxlist标签构造javabean -->
<s:checkboxlist list="%{#request.persons}" name="person"
listKey="id" listValue="name" value="{0,2,4,6,8}"></s:checkboxlist>
<!-- radio标签构造list集合 -->
<s:radio list="{'java','.net','php'}" name="list" value="'java'"></s:radio>
<!-- radio标签构造list集合 -->
<s:radio list="#{'01':'java','02':'php','03':'.net','04':'oracle'}"
listKey="key" listValue="value" name="map" value="'01'"></s:radio>
<!-- radio标签构造javabean -->
<s:radio list="#request.persons" listKey="id" listValue="name" name="person" value="0"></s:radio>
<!-- select标签构造list集合 -->
<s:select list="{'java','.net','php'}" name="list" value="'php'"></s:select>
<!-- select标签构造map集合 -->
<s:select list="#{'01':'java','02':'php','03':'.net','04':'oracle'}"
listKey="key" listValue="value" name="map" value="'03'"></s:select>
<!-- select标签构造javabean -->
<s:select list="#request.persons" listKey="id" listValue="name" name="person" value="8"></s:select>
<s:submit type="input" value="确认"></s:submit>
<s:submit type="button" value="提交"></s:submit>
<s:submit type="image" value="图片"></s:submit>
<s:reset type="input" value="重置1"></s:reset>
<s:reset type="button" value="重置2"></s:reset>
</s:form>
</body>
</html>