通用标签 数据标签
1、<s:property
value 输出的ognl表达式
default value为空时输出的内容
escpeHtml 是否不转义为HTML
>
2、<s:debug/> 查看值栈以及Stack Context中
能访问的值
3、<s:date
name 被格式化的值,(DATE类型)
format 显示日期的格式
>
4、<s:set
var 变量名
value 设置给变量的值,可以是ognl
scope 变量的生命周期
>
示例
//=======================================
<s:set var = "s" value="value"/>
<s:property vlaue = "s"/>
显示结果:value
应用:一个对象在OGNL上访问层次较深,可以使用该标签
定义为一个变量,保证多次引用时方便
5、<s:url
var url的引用名称,如果指定,不生成字符串
action 要访问的Action的名字
value 访问的目标,如果Action不提供,就用value作为URL的值
>
示例
//=======================================
<s:url value="house" var ="u"/>
//用#u引用,#u是一个字符串,加%{}变ognl表达式
<s:a herf = "%{#u}"></s:a>
应用:结合<s:a>结合使用,<s:url用来设置url>
结合<s:a>结合使用,<s:url用来设置url>
6、<s:param
name:参数名称
value:参数的值
>
示例
//========================================
<s:url value="" var="t">
<s:param name="attr" value="value"/>
</s:url>
<s:a herf = "%{#t}"></s:a>
在跳转的同时传值attr = value
应用:不单独使用,作为其他标签的子标签,配合生成参数
7、<s:include 把其他页面包含到当前页面上
value 被引用的URL
>
动态包含
总结
1、ognl变字符串:加单引号
2、字符串变OGNL,加%{}。
3、去Stack Context中的值时,加#
4、$用于XML中获取动态值
通用标签 控制标签
<s:if>
<s:elseif>
<s:else>
属性:test OGNL表达式,返回boolean
<i:itertor
value 用来指明循环是谁
id 用来引用被循环的对象
status 返回当前各种信息
>
#status.count 集合含有的对象数
#status.index 正在循环的这一项的索引
#status.even 是否为偶数
#status.odd 是否为奇数
应用实例
<s:iterator id="object" value="list" status="status">
<s:if test="#status.even">
<te bgcolor = "red">
</s:if>
<s:if test="#status.odd">
<te bgcolor = "blue">
</s:if>
<td><s:property value="#object.attr1"/></td>
<td><s:property value="#object.attr2"/></td>
<td><s:property value="#object.attr3"/></td>
</tr>
</s:iterator>
UI标签
用来生成Web界面,或者Web界面提供的功能支持
基于膜瓣和主题实现的
模板
就是一些代码,在Struts通常用freeMarker编写的
用于生成HTML
在Struts2核心jar包的template中
主题
将一组共同风格和观感的组织到一起
Struts2使用目录名作为主题名
可以通过切换主题切换HTML风格
Struts2内建主题
文件夹位置:struts目录\template\
simple/xhtml(默认)/css_xhtml/ajax
修改主题,在struts中配置
修改项目的主体:<constant name="struts.ui.theme" value="主题名,如:simple">
修改一个标签的主题:加<theme = "主题名,如:simple">
UI标签 struts标签 HTML标签
<s:form> form
属性name,action,method
<s:textfield> input-text
属性name,value,maxlength,readonly
<s:textarea> textarea
属性name,value,cols,rows,readonly
<s:submit>
<s:select>
属性 name 下拉框名称
list 生成下拉框的集合
listKey 生成选项value的属性
listValue 生成选项显示的文字
<s:doubleselect>
属性 name 第一个下拉框的名字
list 第一个下拉框的集合
listKey 第一个下拉框的value
listValue 第一个下拉框的显示
doublename 第二个下拉框的名字
doublelist 第二个下拉框的集合
doublelistKey 第二个下拉框的value
doublelistValue 第二个下拉框的显示
例如省市
第一层用Map< 省,list<市> >,
第二层用List<市>
<s:doubleselect name="" list="map.getSet()" lisetKey="省.id" listValue="省.name"
doublename = "" list="map.get(top) doublelistKey="市.id" doublelistValue="市.name">
map.get(top)中top表示第一个下拉菜单选中的值
Ajax标签,需要导入struts2-dojo-plugin的jar包
<datetimepicker>
属性 name 名称
label 用来显示组件的文本
使用步骤:
//引入jar包
<%@taglib uri = "/struts-dojo-tags" prefix="sx"%>
//生成效果、CSS、Js
<sx : head parseContent = "true">
//生成日期标签
<sx : datetimepicker name="" lable="">