用ognl的静态调用
<s:property value="%{@java.lang.System@currentTimeMillis()}" />
来显示,发现结果集为空.查了好多资料都发现这个是正确的引用,困惑......
最后在查struts2.1.2的文档时发现struts2.1.2中加了很多配置元素,其中有一个名为struts.ognl.allowStaticMethodAccess的配置项
在文档的struts.properties的例子中:
### Whether to allow static method access in OGNL expressions or not
struts.ognl.allowStaticMethodAccess=false
struts.ognl.allowStaticMethodAccess=false
于是把false改成true,配置到struts.properties中
struts.ognl.allowStaticMethodAccess=true
问题解决
也可以配置在struts.xml中
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
相关推荐
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...
当JSP解析器遇到一个Struts2标签时,会根据TLD找到对应的标签处理类(TagHandler)并实例化,执行其doStartTag()和doEndTag()等方法。例如,`s:property`标签对应的处理类可能是`PropertyTag`。 在`PropertyTag`中...
在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...
在实际项目中,开发者可以将`struts2-tags-API`文档作为参考,快速查找和理解标签的使用方法。如果遇到问题,可以查看标签的错误信息,或者使用调试工具查看标签的生命周期和执行流程,以便定位和解决问题。 总结,...
以前也用过,但用的比较少,今天自己重新开始了一个新的项目,在实现一个功能的时候用到了Struts2的在前台调用后台的静态方法,弄了半天没有出来结果,原来是自己没有在Struts的配置文件里面申明可以在前台使用后台...
### SSH2中的URLRewrite与Struts2生成静态页面 #### URLRewrite的理解与应用 在SSH2(Spring + Struts2 + Hibernate)框架中,URLRewrite是一种强大的工具,可以用于实现URL重写功能,使得网站的URL更加友好、易于...
除了OGNL,Struts2还提供了一个丰富的标签库,包括UI标签和非UI标签。UI标签主要用于创建HTML表单,非UI标签则提供控制逻辑,如条件语句。UI标签通常有通用属性,比如`label`用于设置控件的名称,`labelposition`...
Struts2结合FreeMarker模板引擎可以方便地生成静态页面,提高网站的响应速度和用户体验。 FreeMarker是一个强大的、轻量级的模板语言,用于生成动态内容。它与Java紧密集成,允许开发者用模板来分离业务逻辑和表现...
OGNL是Struts2标签的核心,它允许在标签中直接访问Action的属性、方法和上下文。例如,`s:textfield name="username"` 将绑定到Action的username属性。 5. **动态属性** Struts2标签支持动态属性,这意味着你可以...
在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...
众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...
在Struts2的配置文件(通常为struts.xml)中,你可以定义多个Action映射到同一个Action类的不同方法。例如,`TagAction`类有两个处理逻辑,`execute()`和`login()`,它们可以通过不同的method属性映射到不同的Action...
10. `<s:component>`:这个标签用于使用自定义组件,它允许开发者引入自定义的标签并结合Struts2的主题和模板进行渲染。 总的来说,Struts2标签库大大简化了页面开发,通过这些标签,开发者可以方便地处理用户交互...
通过`s:i18n`标签,Struts2可以轻松实现页面的国际化,比如`<s:i18n name="myBundle">`,然后在其中使用`s:text key="label.key"`显示翻译后的文本。 七、标签的异常处理 `s:fielderror`和`s:actionerror`标签用于...
其中 OGNL 是 Struts 2 的默认表达式语言,提供了许多实用的功能,例如支持对象方法调用、类静态的方法调用和值访问、赋值操作和表达式串联等。 OGNL 表达式语言中使用了多种符号,包括 #、% 和 $ 符号。# 符号用于...
1. **Action标签**:这是Struts2最基础的标签,用于调用Action并执行业务逻辑。例如`<s:action>`标签可以用来执行一个特定的Action,同时支持参数传递。 2. **Field标签**:这一系列标签用于处理表单输入,如`...
此外,了解STRUTS框架的工作原理和标签库的使用也是必要的。STRUTS标签库包括核心库、表单库、选择库等,每个库都有特定的用途,例如,核心库主要用于页面导航和控制流,表单库则用于处理用户输入。开发者应当熟悉...
使用Struts2标签库时,我们需要在JSP页面中引入struts2的核心标签库,通常在页面顶部添加如下声明: ```jsp <%@taglib prefix="s" uri="/struts-tags" %> ``` Struts2的每个标签都支持动态数据访问,其属性可以接受...
在Struts2中,不再像Struts1.x那样将标签库分为html、bean、logic和tiles等类别,而是统一使用一个`<s>`前缀的标签库,只需在JSP页面头部引入`<%@ taglib prefix="s" uri="/struts-tags" %>`即可使用所有标签。...