Struts 2 标签 ONGL(1)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'index.jsp' starting page</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 
  </head>
 
  <body>
 
    <s:form action="user">
     <s:a href="user">进入</s:a>
     
     <!-- 专门取值的标签  (直接写就是取栈顶的元素的值) -->
     name:<s:property value="name"/>
     age:<s:property value="age"/>
     <hr/>
     
     <!-- 使用标签定义一个集合   并取得集合中的第一个元素 -->
     <s:set value="{111,222,333}" var="arr"></s:set>
     取第一个元素:<s:property value="#arr[0]"/>
     <hr/>
     
     <!-- 取session值两个方法 -->
     法一:<s:property value="#session.stu"/><br/>
     <s:property value="#session['stu']"/><!-- 写法二 -->
     <br/>
     <!-- 去四大范围中搜索 -->
     法二:<s:property value="#attr.stu"/>
     <hr/><br/>
     
     <!-- 区request中取值 -->
     取request的值:<br/>
     struts.view_uri=<s:property value="#request['struts.view_uri']"/><br/>
     struts.request_uri=<s:property value="#request['struts.request_uri']"/>
     <br/><hr/>
     
     取参数 :<br/>
     取得struts.xml的result配置中的参数<br/>
     <s:property value="#parameters.id[0]"/>
     <br/><hr/>
     
     <!-- % 号 的用法  用于 非 s:property 等取值-->
     name:<s:property value="%{name}"/>---- 
     age:<s:property value="%{age}"/>
     
     <br> ------------------------------------- <br>
     
     <hr/><br/>
     
     迭代list:<br/>
     <s:iterator value="list">
      name:<s:property value="name"/>,
      age:<s:property value="age"/><br/>
     </s:iterator>
     
     <hr/><br/>
     迭代map集合:<br/>
     <s:iterator value="map">
      key:<s:property value="key"/>,
      value:<s:property value="value"/><br/>
     </s:iterator>
     
     <hr/><br/>
     
     <!-- 取集合中的单个元素 -->
     取集合中的单个:<br/>
     <s:property value="map[101]"/>
     <br/><hr/>
     
  <!-- 单选按钮 -->     
     s:if标签输出:<br/>
     <s:set var="score" value="72"></s:set>
     <s:if test="#score>80">
      优秀
     </s:if>
  <s:elseif test="#score>79">
   良好
  </s:elseif>
  <s:else>
   一般
  </s:else>
  <hr/><br/>
  
  <!-- 集合筛选 -->
  集合的筛选:<br/>
  <s:iterator value="list.{?#this.age>18}.{?#this.age<20}.{name}" >
   <%--<s:property value="name"/>---<s:property value="age"/>--%>   
   <s:property/>
  </s:iterator>
  <hr/><br/>
         
  <%--^  是满足这个条件的最后一个 --%>      
  ^ 指  满足条件的最后一个:<br/>
  <s:iterator value="list.{^#this.age>18}">
   age:<s:property value="age"/>---name:<s:property value="name"/> 
  </s:iterator>
  <hr/><br/>
  
  <!-- 下拉类表
      要先进action 绑定了集合后在进页面
      下拉框list就是一个绑定的集合
      listKey 就是下拉框option的value
      listValue 就是下拉框的
      name 为最后提交的那个名字
      headerKey 就是下拉框的第一个元素
     -->
     下拉列表提交的值:<br/>
     <s:iterator value="stuId">
      <s:property/>
     </s:iterator>
     <s:select list="list" listKey="age" listValue="name" name="stuId"
      headerKey="0" headerValue="--请选择--">
     </s:select>
     <hr/><br/>
     
     <!-- 复选框 -->
     多选框提交的值:<br/>
     <s:iterator value="stuId2">
      <s:property/>
     </s:iterator>
     <s:checkboxlist list="list" listKey="age" listValue="name"
      name="stuId2">
     </s:checkboxlist>
     <hr/><br/>
  
  <!-- 单选按钮 -->  
  单选按钮输出:<br/>
  <s:property value="stuId3"/>    
  <s:radio list="list" listKey="age" listValue="name" name="stuId3"></s:radio>       
  <hr/><br/>
  
     <s:textfield name="name" label="name"></s:textfield>
     <s:textfield name="age" label="age"></s:textfield>
     <s:submit></s:submit>
    </s:form>
   
    <hr/><br/>
    <!-- 调用action 中的方法 ,需要先进action -->
    <s:property value="getmyname()"/>
    <hr/><br/><br/>
   
     
        补充:<br/>
   
    <!-- 调用静态方法...需要开启一个全局配置  struts.ognl.allowStaticMethodAccess
     访问静态方法 语法:<s:property value="@报名.类名@方法名()"/> -->
     调用静态方法...在struts2.0以上的版本需要在struts.xml中开启一个全局配置  struts.ognl.allowStaticMethodAccess:<br/>
    <s:property value="@entity.Student@getmethod()"/>
    <hr/><br/>
   
    <!-- 此处不能用debug,为什么呢?不知道 -->
    <%--<s:debug></s:debug>--%>
  </body>
</html>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值