struts2学习笔记 strut标签

1. struts标签

1.1 通用标签
1.1.1 数据标签
property

 <h3>property</h3>
          <s:property/>,<!-- 取栈顶的对象 -->
          <s:property value="num1"/>,<!--取的是根对象的栈顶的对象的属性值  -->
          <s:property value="#cal2.num1"/><!--取的是根对象的指定对象的属性值  -->
          <s:property value="#request.cal2.num1"/><!--取的是非根对象的指定对象的属性值  -->

set
scope=“action”,action=request+actionContext

<h3>set</h3> 
          <!--value里面放的是表达式,在ognl上下文的根对象中取result的值,赋给test1  -->
          <s:set var="test1" value="result"></s:set>
          ${test1 },${requestScope.test1 }

push

  <h3>push</h3>
          <!-- 执行push的时候就是将你需要的值放到栈顶,便于页面获取 -->
          <s:property/>
          <s:push value="result">
          	<s:property/>
          </s:push>
          <s:property/>

修改页面
param
注1:它是子标签

 <!--两种赋值方式①ognl表达式②字符串  -->
          <s:url namespace="/sy" action="tagAction" var="test4">
          <s:param name="test5">aaa</s:param>
          <s:param name="test6" value="num1"></s:param>
          </s:url>
          <s:property value="#test4"/>

注2:url/action

date
java.text.SimpleDateFormat/DecimalFormat

<h3>date</h3>
          <%
          	request.setAttribute("currentDate", new Date());
          	request.setAttribute("score", new Integer(70));
          	request.setAttribute("names", new String[]{"aa","bb","cc"});
          %>
          <s:date name="#request.currentDate" format="yyyy-MM-dd"/>

debug

 <h3>debug</h3>
          <s:debug></s:debug>
          

url/param/a(重要~用来生成url链接的)

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

action

 <h3>action</h3>
          <!-- action标签通常用来请求后台,获取初始化数据的 -->
          <s:action name="tagAction" namespace="/sy" var="test2"></s:action>
          <s:property value="#test2.cal2"/>

1.1.2 控制标签
iterator/if/elseif/else

 <h3 style="color: red;">控制标签</h3>
   	 	<h3>iterator/if/elseif/else</h3>
          <ul>
          	<s:iterator var="v" value="#request.names">
          		<li>
          			<s:property value="#v"/>
          			
          		</li>
          	</s:iterator>
          </ul>
		  
		  
		  <s:if test="#request.score>80">
		  A
		  </s:if>
		  <s:elseif test="#request.score>60">
		  B
		  </s:elseif>
		  <s:else>C</s:else>

1.2 UI标签
1.2.1 表单标签
主题:xhtml/simple

 <h3 style="color: red;">表单标签</h3>
          <h3>form</h3>
          <h3>textfield</h3>
          <h3>radio</h3>
          <h3>select</h3>
          <h3>textarea</h3>
          <h3>hidden</h3>
          <h3>submit</h3>
          <s:form namespace="" action="">
 			<s:textfield label="姓名" name="uname"></s:textfield>
 			<s:radio list="{'男','女'}" name="sex1" label="性别1" value="'男'"></s:radio><!-- 第一种 -->
 			<s:radio list="#{1:'男',2:'女'}" name="sex" label="性别" value="2"></s:radio><!--第二种  -->
 			<s:select list="#{1:'部门1',2:'部门2',3:'部门3'}" label="部门" name="deptName"></s:select>
 			<!-- 单选复选框,往后台传值是传布尔类型的 -->
 			<s:checkbox label="是否" name="married"></s:checkbox>
 			<!--多选复选框  -->
 			<s:checkboxlist list="#{1:'篮球',2:'bb',3:'cc'}" label="爱好" name="hobby"></s:checkboxlist>
 			<s:textarea name="remark" label="备注"></s:textarea>
 			<s:hidden name="xxx" value=""></s:hidden>
          </s:form>

1.2.2 非表单标签

2. 标签的属性类型说明

String 字符串
Boolean true|false
Object
Object/String 传过去字符串,但会被认为是一个OGNL表达式进行计算

%{str}:str会被强制转换成OGNL表达式计算
<s:a href="%{#url1}">bbb</s:a>

3. 标签的公共属性

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

  1. action/param
    部门查询 /a/deptAction!list.action
    deptAction
    list

    员工资料新增
    员工姓名:
    所属部门:
    用下拉框

重点---------------------------------------------------------------------------


1、value表达式讲解(与c标签作比较)
2、set中var没有放到值栈中,是非根对象
3、action 再发一次请求 是为了调后台模块代码,拿数据
4、url 没有发请求,只为了生成url链接地址
%{str}:str会被强制转换成OGNL表达式计算
以上最最重要的是通过debug标签去拿值

猜你喜欢

转载自blog.csdn.net/qq_41282789/article/details/83050311