`
jdluojing
  • 浏览: 17955 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

struts2无法调用类静态方法的解决办法

 
阅读更多

现在做网站中需要用到格式化输出Date对象,由于从数据库中取出来的是一个整体对象(例如Article对象),因此需要在显示页面来进行格式化处理。为了方便,写了一个DateFormateUtil类,里面提供了静态方法用于格式化Date对象(写的比较简单)。

public class DateFormatUtil {

	private static SimpleDateFormat sdf = new SimpleDateFormat();

	/**
	 * 按指定格式格式化输出Date对象
	 * 
	 * @param pattern
	 *            格式化字符串
	 * @param date
	 *            要格式化的Date
	 * @return 格式化之后的字符串
	 */
	public static String format(String pattern, Date date) {

		sdf.applyPattern(pattern);

		return sdf.format(date);
	}

	/**
	 * 格式化Date的快捷方法
	 * 
	 * @param date
	 *            要格式化的Date
	 * @return
	 */
	public static String date2String(Date date) {
		return format("yyyy-MM-dd HH:mm:ss", date);
	}
	
}
然后在页面上使用OGNL来调用这个类的静态方法。

<s:property value="@com.cms.util.DateFormatUtil@format('yy',postdate)" />

结果发现没有用.....

后来查看文档发现,如果要想在Struts2中使用OGNL调用静态方法,还得在struts.xml中开启一下。

<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

重启tomcat,页面取值正常了。

分享到:
评论

相关推荐

    Struts2 动态方法调用(十三)

    在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...

    Struts2 OGNL调用公共静态方法详细介绍

    一直以来都知道Struts2的OGNL支持在前台调用后台的静态方法,以前也用过,但用的比较少,今天自己重新开始了一个新的项目,在实现一个功能的时候用到了Struts2的在前台调用后台的静态方法,弄了半天没有出来结果,...

    struts2 OGNL语言学习笔记

    在 Struts 2 中,OGNL 是默认的表达式语言,原因是它相对其它表达式语言具有多个优势,例如:支持对象方法调用、支持类静态的方法调用和值访问、支持赋值操作和表达式串联等。 在使用 OGNL 时,经常遇到的问题是 #...

    Struts2的常量详解

    struts.enable.DynamicMethodInvocation 属性设置 Struts 2 是否支持动态方法调用,该属性的默认值是 true。如果需要关闭动态方法调用,可以将该属性设置为 false。 这些常量都是 Struts2 框架的核心组件,它们控制...

    马士兵Struts2笔记2013

    投影是Struts2中将对象属性映射到视图组件的方式,允许在JSP中直接使用对象的属性而无需显式地调用getter方法。 以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理...

    struts2源代码分析

    `Dispatcher`类是关键,它负责初始化以及调用Action的execute()方法。 4. `org.apache.struts2.impl`: 包含了StrutsActionProxy、StrutsActionProxyFactory、StrutsObjectFactory三个类,它们是对XWork的扩展,用于...

    Struts2_OGNL

    OGNL(Object-Graph Navigation Language)是Struts2框架中的一个重要组件,用于在Web应用中访问和操作Java对象的属性,调用其方法,以及执行类型转换等操作。 OGNL是对象图导航语言的缩写,它是一种功能强大的...

    struts2完整压缩包

    8. ** strut2-convention-over-configuration**: 这是一种编程风格,通过约定优于配置的原则,减少XML配置文件的编写,自动将Action类、方法映射到URL。 9. **国际化的支持**: Struts2提供了内置的国际化支持,允许...

    struts2 Action 包 命名空间 servlet API

    3. `org.apache.struts2.dispatcher`:这是Struts2的核心包,其中包含Dispatcher类,它负责初始化以及调用Action的execute()方法。 4. `org.apache.struts2.impl`:扩展了XWork的核心功能,定义了StrutsActionProxy...

    黑马Struts2视频(day2)

    - 动态方法调用(Dynamic Method Invocation,DMI):允许通过Action类的方法名来映射URL,增加代码的可读性和可维护性。 5. **OGNL(Object-Graph Navigation Language)**: - OGNL是Struts2中的表达式语言,...

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化

    Struts2集成FreeMarker和Velocity,写成了工具类,快速实现页面静态化,以后直接调用即可,无需修改任何源代码,改压缩文件包括 1、工具类; 2、源码(含jar包); 3、mysql数据库可执行文件; 4、struts2集成...

    struts生成静态页面实例

    Struts框架会调用Action类的方法,生成并返回静态页面的内容。 在提供的"demo"文件中,可能包含了这个实例的源代码,包括Action类、struts.xml配置文件以及其他必要的资源。通过查看和运行这些代码,你可以更深入地...

    Struts2属性文件详解

    指定了Struts 2是否支持动态方法调用,默认值为`true`。如果需要禁用动态方法调用,可以将此属性设置为`false`。 #### struts.enable.SlashesInActionNames 该属性决定了Struts 2是否允许在Action名中使用斜线,...

    struts2 资料 struts2 资料 struts2 资料

    3. 如果找到匹配的Action,调用相应的Action类方法。 4. 在调用Action之前,一系列预定义或自定义的拦截器按顺序执行。 5. Action执行完毕后,根据Action的返回值决定执行哪个结果类型。 6. 结果类型可能转发到JSP...

    struts2标签使用例子

    Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建企业级Java Web应用程序。在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化...

    struts2+jfreechart

    2. **创建Action**:定义一个Struts2 Action类,该类负责生成图表数据和调用JFreeChart生成图表。 3. **使用JFreeChart API**:在Action中,根据需求创建Dataset(数据集),然后使用JFreeChart工厂创建相应的图表...

    Struts2资源

    为了更好地理解Struts2的工作原理,下面我们来详细介绍一下Struts2中的几个关键接口和类: 1. **ActionMapper**:该接口用于根据请求的URL查找是否存在对应Action调用。它是请求处理流程的第一步,决定了后续流程的...

Global site tag (gtag.js) - Google Analytics