打开index.jsp页面,编码格式改为utf-8,加入<%@ taglib uri="/struts-tags" prefix="s" %>,就可以使用struts的标签,具体代码如下:
- <%@ 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">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <ol>
- <li>访问静态方法:<s:property value="@com.gk.StaticTest@s()"/></li>
- <li>访问静态属性:<s:property value="@com.gk.StaticTest@str"/></li>
- <li>访问java.lang.Math类的静态方法:<s:property value="@@max(2,5)"/></li>
- <s:debug></s:debug>
- </ol>
- </body>
- </html>
一定要在struts.xml配置文件中配置允许使用OGNL访问静态方法,否则不能使用OGNL访问静态方法,必须在struts.xml文件中加入这行代码:
- <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
其中完整struts.xml文件如下:
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
- <constant name="struts.devMode" value="true"></constant>
- <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
- </struts>