一、数据标签

1、property 标签:

得到‘Value’的属性,如果value没提供,默认为堆栈顶端的元素。

参数:
名称 必需 默认 类型 描述
default String 如果属性是null则显示的default值
escape true Booelean 是否escape HTML
value 栈顶 Object 要显示的值
id Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
例子:
		  <s:property/><!-- 根对象的属性 -->
          <s:property value="num1"/>,<!-- 取根对象最上面的对象的属性 -->
          <s:property value="cal2.num1"/>, <!-- 取根对象的cal2对象的num1属性 -->
          <s:property value="#request.cal2.num1"/><!--取非根对象cal2的num1属性值  -->
2、set 标签:

set标签赋予变量一个特定范围内的值。当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。

参数:
名称 必需 默认 类型 描述
name String 变量名字
scope String 变量作用域,可以为application, session, request, page, 或action
value Object/String 将会赋给变量的值
id Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
例子:

在ognl上下文的根对象中取result值,赋值给test1

 <h3>set</h3>
          <s:set var="test1" value="result"></s:set>
          ${test1}.${requestScope.test1 }
3、push 标签:

push就是将你需要的值放到栈顶。便于页面获取 。
例如:

  <s:push value="result">
4、param 标签:

子标签 :两种赋值方式:ognl表达式,字符串-

注1:它是子标签
注2:url/action
参数:
名称 必需 默认 类型 描述
name String 参数名
value String value表达式
id Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
5、date标签:

获取时间的标签:

例子:
  <%
         request.setAttribute("currentDate",new Date());
  %>
 		<s:date name="#request.currentDate" format="yyyy-MM-dd"/>
 
6、debug 标签:

用来调试代码,看其中的属性,参数,栈顶等:
样式如下:
struts 2 常用标签

7、url :

没有发请求,只为了生成url链接地址

例子:
  <!-- 生成地址所用,注意与a标签区分 -->
          <s:url namespace="/sy" action="tagAction" var="test3"></s:url>
          <s:property value="#test3"/>
 <!-- a 标签 -->
          <a href=' <s:property value="#test3"/>'>xxx</a>
          <s:a href="%{#test3}">aaa</s:a>

struts 2 常用标签

8、action :

再发一次请求 是为了调后台模块代码,拿数据

例子:
  <s:action name="tagAction" namespace="/sy" var="test2"></s:action>
   <s:property value="#test2.cal2"/>

二:控制标签:

1、 iterator标签:

相当于以前学的foreach 标签,用于遍历集合:

参数:
名称 必需 默认 类型 描述
status String 如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈
value Object/String 要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象
id Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
例子:
<%
  request.setAttribute("names",new String[]{"gay","ls","ww"});    
%>

<ul>
          <s:iterator var="v" value="#request.names">
          	<li>
          		<s:property value="#v"/>
          	</li>
          </s:iterator>
		</ul>
结果:struts 2 常用标签
2、if/elseif/else 标签:

用来执行判断的:

参数:
名称 必需 默认 类型 描述 备注
test Boolean 决定标志里内容是否显示的表达式 else标志没有这个参数
id Object/String 用来标识元素的id。在UI和表单中为HTML的id属性
例子:
  <%
          request.setAttribute("score",new Integer(70));
   %>
	<s:if test="#request.score>80">
			A
		</s:if>
		<s:elseif test="#request.score>60">B</s:elseif>
		<s:else>C</s:else>
		结果:B

三、表单标签:

1、from:
例子:

action 访问后台数据

<s:form namespace="" action=""></s:form>
2、textfield: 文本框
例子:

name:属性名, label:文本框前的标题名

 	<s:textfield label="姓名" name="uname"></s:textfield>
3、radio :单选框

例子:

1、第一种方式:默认选中男
<s:radio list="{'男','女'}" label="性别" name="sex" value="'男'"></s:radio>


2、第二种方式:默认选中女
<s:radio list="#{1:'男',2:'女'}" label="性别" name="sex" value="2"></s:radio>

4、select 下拉框:
例子:
<s:select  label="部门选择" list="#{1:'人员部门',2:'公关部门',3:'文艺部门' }" name="deptname"></s:select>
5、checkbox 复选框,两种:
例子:
1、单选复选框,返回一个true/false
	<s:checkbox label="是否已婚" name="married"></s:checkbox>
	2、多选复选框,返回一个结果集。
          	<s:checkboxlist label="爱好" name="hobby" list="#{1:'吃饭',2:'睡觉',3:'看电视' }"></s:checkboxlist>
6、textarea 文本域:
例子:
  <s:textarea name="remark" label="个人简介"> </s:textarea>
7、hidden 隐藏域传值:
例子:
  <s:hidden name="hd_name" value="20"></s:hidden>
8、submit 提交:
例子:
	<s:submit value="提交"></s:submit>

然后这就是一个简单的form表单
struts 2 常用标签

四: 标签的公共属性:

var 将值保存到上下文(ActionContext)中的一个key

注意:

%{str}:str会被强制转换成OGNL表达式计算
以上最最重要的是通过debug标签去拿值

相关文章: