zoukankan      html  css  js  c++  java
  • OGNL值栈

    <%@page import="java.util.Date"%>
    <%@page import="com.opensymphony.xwork2.util.ValueStack"%>
    <%@page import="com.opensymphony.xwork2.ActionContext"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        
        <!-- 加载OGNL自定义标签库 -->
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
    ActionContext ac=ActionContext.getContext();
    ValueStack vs=ac.getValueStack();
    //弹出对象,抛走
    //Date dt=(Date)vs.pop();
    //out.print(dt);
    //得到顶部对象,只是看看而已
    //Date dt=(Date)vs.peek();
    //out.print(dt);
    %>
    <br>
    使用OGNL访问值战
    <br><br>
    <!-- 使用El表达式访问值栈对象-->
    ${date }<br>
    ${userid }<br>
    访问Map栈<br>
    ${sessionScope.ses }<br>
    <br><br>
    
    
    <!-- 使用标签方式访问值栈对象 -->
    <!-- 打印值栈信息 -->
    <s:debug></s:debug>
    
    <!-- 输出什么,有重名时输出第几个对象 ,从0开始算,0号对象没有继续向下查找-->
    <s:property value="[1]['date']"/><br>
    <s:property value="userid"/><br>
    <s:property value="[1].date"/><br>
    <s:property value="[1].userid"/><br>
    <!-- 默认输出顶部的对象 -->
    <s:property/><br><br>
    
    <!-- 使用标签方式访问Map栈 -->
    <s:property value="#session.ses"/><br>
    <s:property value="#parameters.userid"/><br>
    <s:property value="#application.app"/><br>
    <s:property value="#request.req"/><br><!-- request传送不到栈中 -->
    <s:property value="#attr.ses"/><br>
    <br>
    
    <!-- 调用实例方法 -->
    产生随机数:<s:property value="[0].nextInt(100)"/><br>
    
    <!-- 调用静态属性和方法 -->
    随机数:<s:property value="@java.lang.Math@random()"/><br>
    PI=<s:property value="@java.lang.Math@PI"/><br>
    <br>
    
    <!-- 访问栈中的list类型的对象 -->
    输出list的长度=<s:property value="[0].size()"/><br>
    输出list的内容=<s:property value="[0].get(0)"/><br>
    <br>
    <!-- 访问对象的集合属性 -->
    输出对象属性为list的长度=<s:property value="[0].mylist.size()"/><br>
    输出对象属性为list的内容=<s:property value="[0].mylist"/><br>
    输出对象属性为list的内容=<s:property value="[0].mylist[0]"/><br>
    输出对象属性为list是否为空=<s:property value="[0].mylist.isEmpty"/><br>
    
    </body>
    </html>
    

      

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
            <!-- 加载OGNL自定义标签库 -->
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    
    测试URL标签<br><br>
    <s:url value="/index.jsp" var="surl"></s:url><br>
    
    <s:url action="test" var="stest">
    <s:param name="id" value="123"></s:param>
    <s:param name="user" value="'tom'"></s:param>
    
    </s:url><br>
    <s:url action="test" method="execute" var="stest1"></s:url><br>
    <br>
    向Map栈压入键值对<br>
    <s:set  scope="session" name="setname" value="1231213213"></s:set>
    从Session中获取:${sessionScope.setname }
    <s:debug></s:debug><br>
    使用Map栈中的url<br>
    <a href="${surl }">测试页</a><br>
    
    </body>
    </html>
    

      

    //Struts2界面
    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE struts PUBLIC
    	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    	"http://struts.apache.org/dtds/struts-2.3.dtd">
    
    <struts>
    <constant name="struts.action.extension" value="do,action,,"></constant>
    <!-- 允许调用静态方法和静态属性 -->
    <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
    <package name="default" extends="struts-default">
    
    <action name="test" class="com.action.TestAction" method="test">
    <result>test.jsp</result>
    
    </action> 
    
    
    </package>
    </struts>
    

      

  • 相关阅读:
    洛谷P1085 不高兴的津津
    为什么要学习算法
    洛谷P1001 A+B Problem
    计算机问题求解周期
    洛谷P1000 超级玛丽游戏
    洛谷P1421 小玉买文具
    CF359D Pair of Numbers(ST+二分)
    2020.10.7
    2020.10.10
    2020.10.8
  • 原文地址:https://www.cnblogs.com/zhangnaitao/p/6116249.html
Copyright © 2011-2022 走看看