<%@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>