Struts2:标签库
2024-10-19 02:23:06
使用struts标签库的jsp需要引入标签库
<%@taglib prefix="s" uri="/struts-tags"%>
url来自哪里?
struts2-core-2.3.16.1.jar
→META-INF
→struts-tags.tld
→Line11:<uri>/struts-tags</uri>
控制标签:分枝循环
<!-- 【分枝结构if else】 -->
<s:if test="2==1">
1==1
</s:if> <s:elseif test="3==2">
2==2
</s:elseif> <s:else>
3==3
</s:else>
<hr />
<!-- 【循环遍历】 -->
<!-- set定义Map:井号{v:k},数字,字符串都可以 -->
<s:set name="mymap" value="#{'1':'中国',2:'大英帝国',3:'俄罗斯帝国'}" />
<!-- set定义List:不加井号,字符串中不能只有一个字符,哪怕是全角字符 -->
<s:set name="mylist" value="{'中国','日本','韩国'}" /> <!-- s:iterator value=可以加井号,不加也可以 -->
<s:iterator value="mymap" var='per'>
<!-- 取var的下一层必须加井号 -->
<s:property value="#per.value" />
<br />
</s:iterator>
<hr /> <s:iterator value="mylist" var="per3" status="sta">
<s:property value="per3" />
<!-- var:当前元素(保存在context page作用域的一个变量) -->
<!-- ___status:当前元素的状态,取其中的值必须加井号 -->
index:<s:property value="#sta.index" />
count:<s:property value="#sta.count" />
<s:if test="#sta.even">
偶数
</s:if>
<s:elseif test="#sta.odd">
奇数
</s:elseif>
<s:else>
</s:else>
first:<s:property value="#sta.first" />
last:<s:property value="#sta.last" />
<br />
</s:iterator>
数据标签:显示数据
<!-- 【【数据标签】】 --> <!-- 【set定义值】 -->
<!-- ___Scope存储的范围是在application、session、request、page……。 -->
<!-- ___默认是存储在该stack context中。 -->
<s:set var="v1" value="'property:中国人'" scope="session"></s:set>
<!-- attr.***默认是从 page, request, session, then application scopes -->
<s:property value="#attr.v1" /> <!-- 【date格式化日期 】 -->
<%
pageContext.setAttribute("d", new java.util.Date());
%><br>
<s:property value="#attr.d" />
<br>
<s:date name="#attr.d" format="公元yyyy年MM月dd日 hh:mm:ss.SSS" /> <!-- 【property】 -->
<!-- ___1.输出(狭义)值栈,2.#输出stack context -->
<!-- ___可以设默认值,如果没有value,取得是值栈顶部对象 -->
<br>
<s:property value="#request.a1" />
<br>
<s:property value="#request.a1" default="万岁" />
<br>
<s:property />
<s:debug />
UI标签:控件
<!-- 【【UI标签】】 -->
<style>
.c1 {
background-color: #EEEEEE;
}
</style>
<s:form>
<!-- 不在form中不会每个控件占一行 --> <s:textfield name="nm" label="用户名" tooltip="提示" cssClass="c1" />
<s:password name="pwd" label="密码" tooltip="请输入密码" />
<!-- cols:有滚动条时只能输入3列 -->
<s:textarea name="introduce" label="自我介绍" tooltip="提示" rows="2" cols="3" /> <!-- set定义List:不加井号,字符串中不能只有一个字符,哪怕是全角字符 -->
<s:set name="weiList" value="{'张辽','徐晃','乐进','于禁','张郃'}" />
<!-- set定义Map:井号{v:k},数字,字符串都可以 -->
<s:set name="wuMap"
value="#{'101':'黄盖','102':'程普','103':'周泰','104':'太史慈','105':'甘宁'}" /> <!-- 【单选:关键属性:list】 -->
<s:radio name="shu" list="{'关羽','张飞','赵云','黄忠','马超','魏延'}"
label="蜀国点将" tooltip="请点将" />
<!-- 【单选:取值为List】 -->
<s:radio name="wu" list="weiList" label="魏国点将" />
<!-- 【单选:取值为Map】 --> <!-- 默认,listKey='key',listValue='value' -->
<!-- 默认选中:value -->
<s:radio name="wei" list="wuMap" label="吴国点将" listKey="value"
value="'太史慈'" />
<!-- 【复选】也可以使用List或Map -->
<!-- value:默认选中 -->
<s:checkboxlist name="cwei" label="魏国" list="weiList"
value="{'张辽','徐晃'}" />
<s:checkboxlist name="cwu" label="吴国" list="wuMap" value="{'张辽','徐晃'}" />
<!-- 【下拉列表:select】也可以使用List或Map -->
<!-- headerKey & headerValue:加的一项,多是提示作用 -->
<s:select name="swei" label="魏国" list="weiList" headerKey=""
headerValue="曹操点将" />
<!-- 默认选项,使用Map时需是key的值 -->
<s:select name="swu" label="吴国" list="wuMap" value="'104'" />
</s:form>
最新文章
- Hibernate组件和关联映射
- Ubuntu 16.04 install 搜狗输入法
- XPath 运算符
- 数据字典生成工具之旅(7):NVelocity实现代码生成器
- 【BZOJ 2599】【IOI 2011】Race 点分治
- 【MySQL】探究之TIMESTAMP
- ThreadPoolExecutor
- Eclipse:启动时提示";Failed to load the JNI shared library";的解决方案
- (转)python文件操作 seek(),tell()
- iOS NSPredicate和正则表达式
- perl unload utf-8 oracle Wide character in print at unload_oracle.pl line 105.
- “假如花千骨在杭州拍摄” 主题Cosplay
- ST-LINK调试完成
- Python内置函数(30)——hex
- MySQL数据库(2)
- Spring 内部注入bean
- syzkaller 资料集合
- Idea2017.3.5+SpringBoot--热部署
- 蚂蚁金服 Service Mesh 渐进式迁移方案|Service Mesh Meetup 实录
- 给开发者准备的 10 款最好的 jQuery 日历插件[转]