struts标签(通用标签,属性标签)

重点:
1、value表达式讲解(与c标签作比较)
2、set中var没有放到值栈中
3、action 再发一次请求 是为了调后台模块代码,拿数据
4、url 没有发请求,只为了生成url链接地址
以上最最重要的是通过debug标签去拿值

重点解析:
1.1 通用标签
1.1.1 数据标签

      <h3>set</h3>
      <!-- set里的value是表达式,不能填入String的值 
     <s:set var="test1" value="xxx"></s:set> --%>
	<s:set var="test1" value="cal2"></s:set>
      <s:property value="test1"/>
      
      <h3>property</h3>
      <!-- s:property是直接去值栈里去取值,如果不填value, 它是默认取第一个值 -->
      <s:property/>
      <!--取不到值,因为标签代表的含义是,从值栈中去找test1.num1的属性值,在值栈没有test1的值所有找不到  -->
      <s:property value="test1.num1"/>,
      <!-- 取的到,property它取的是非根(不是value stack 下)的num1的属性值 -->
      <s:property value="#test1.num2"/>
      
      <h3>push</h3>
      <s:property/>,push内
      <!-- push 代表弹栈,标签体即可拿的弹栈类容,结束标签回归原样 -->
      <s:push value="resuct">
      <s:property/>
      </s:push>,
      <s:property/>
      
      
      <h3>action</h3>
      <!-- 作用:是为了向后台发请求拿数据,加载初始化数据所用 -->
     <s:action name="tagAction" namespace="/sy" var="test2"></s:action>
      <s:property value="test2"/>
      <s:property value="#test2.resuct"/>
      
      <h3>url</h3>
      <!--是为了生成url地址所用  -->
      <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 里面不能直接填入var  -->
      <s:a href="test3">xxa</s:a>
      <!-- %{str}:str会被强制转换成OGNL表达式计算
		 <s:a href="%{#url1}">bbb</s:a>  -->
      <s:a href="%{#test3}">xxb</s:a>
      
      <h3>param</h3>
      <!--  param属于子标签,通常配合 action、url使用-->
       <s:url namespace="/sy" action="tagAction" var="test4">
       	<s:param name="test5">resuct</s:param>
       	<s:param name="test6" value="resuct"></s:param>
       </s:url> 
        <s:property value="test4"/>
        
        
      <h3>date</h3>
      <%
      //内部代码
      	request.setAttribute("currentTime", new Date());
      	request.setAttribute("names", new String[]{"ljy","tbq","wyy"});
      	request.setAttribute("score", new Integer(70));
      %>
      <s:date name="#request.currentTime" format="yyyy/mm/dd"/>
      <h3>debug</h3>
      <s:debug/>
      
1.1.2 控制标签
 <h3 style="color: red;">控制标签</h3>
 	<h3>iterator/if/elseif/else</h3>
 	<ui>
 	<s:iterator value="#request.names" var="v">
      <li>
      	<s:property value="#v"/>
      </li>
      </s:iterator>
 	</ui>
      分数:<s:property value="#request.score "/>,评价:
      <s:if test="#request.score >80">
      	A
      </s:if>
      <s:elseif test="#request.score >60">
      	B
      </s:elseif>
      <s:else>
      	C
      </s:else>
  1. 标签的属性类型说明
    String 字符串
    Boolean true|false
    Object
    Object/String 传过去字符串,但会被认为是一个OGNL表达式进行计算

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

  2. 标签的公共属性
    var 将值保存到上下文(ActionContext)中的一个key

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值