对于MVC框架,Struts把重点放在了控制器和视图方面,控制器用Action来实现,视图则使用大量的Struts标签来实现,下面就记录一些常用的标签。
注意: 要使用Struts标签,则必须在jsp文件中引入Struts标签库:
<%@taglib prefix="s" uri="/struts-tags" %>
1. 表单< s:form>标签
<s:form>
<s:textfield name="username" label="姓名"/>
<s:password name="password" label="密码"/>
<s:select name="degree" label="学历" list="{'大学','高中','初中'}"/>
<s:radio name="sex" list="{'男','女'}" label="性别"/>
<s:textarea name="protocol" label="登记协议" value="这是我们登记的协议"/>
<s:checkbox name="confirm" label="同意员工协议"/>
<s:submit value="提交"/>
<s:reset value="重置"/>
</s:form>
视图:
2. < s:checkboxlist>多个checkbox的集合
<!-- 使用常规方式 -->
<s:checkboxlist name="books" label="请选择你喜欢的书籍" list="{'java','php','python'}"/>
<br>
<!-- 使用map方式 -->
<s:checkboxlist name="books2" label="请选择你的出版日期" list="#{'java':'2016','php':'2015','python':'2017'}"
listKey="key" listValue="value"/>
<br>
<!-- 使用bean方式 -->
<s:bean name="entity.BookService" id="bs"/>
<s:checkboxlist name="books3" list="#bs.books" label="请选择你喜欢的书籍" listKey="name" listValue="name"/>
视图:
3. < s:combobox>一个单行文本框和下拉列表框的组合
<s:combobox name="bookname" label="请选择书名" maxlength="20" list="{'Java','PHP', 'Python'}" headerKey="1" headerValue="---请选择---" emptyOption="true" value="PHP"/>
视图:
4. < s:doubleselect>二级联动下拉选择
<!-- 要和form一起用 -->
<s:form name="form1">
<s:doubleselect name="city" label="请选择城市" list="{'广州','深圳'}"
doubleList="top=='广州'?{'天河','白云','越秀','海珠'}:{'保安','南山','罗湖'}" doubleName="cityz"/>
</s:form>
视图:
5. < s:updownselect> 包装了上移,下移,选择全部的功能
<!-- 实际是对一段javascript的封装 -->
<s:updownselect name="list" list="{'Java','PHP','Python'}" label="请选择你喜欢的书" labelposition="left"
moveUpLabel="上移" moveDownLabel="下移" selectAllLabel="选择全部"/>
视图:
6. < s:optiontransferselect> 对左右两个列表的左移,右移,选择全部,对单个列表的上移,下移,很全面的功能包装
<s:optiontransferselect
label="请选择你喜欢的图书"
name="left" list="{'Java','PHP','Python'}" leftTitle="编程语言"
doubleName="rightList" doubleList="{'Java编程思想','PHP从入门到精通', '坦克Python'}"
/>
视图: