静态方法
<s:property value="@org.springframework.security.context.SecurityContextHolder@getContext().authentication.principal.username"/>
假如访问静态方法 方法名带有get要写get 如 @getContext() 这是一个静态方法
后面的.authentication.principal.username 都是实例的get方法 不要写get
静态属性
<s:property
value="@com.lich.Level@STATICFIELD"/>
还要注意struts2版本 如下
使用struts, 在jsp页面中,可以通过ognl访问类的静态方法。
表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar') 。页面的输出结果就是:foo bar
在目前的项目中,我们使用了struts最新的版本2.1.2,当我在jsp页面中使用ognl访问类的静态方法时,发现不起作用。也没报错信息,找不到原因。网上搜了一下,也未发现相同经历的人。当我把struts的版本降到2.0.11时,发现是可以访问静态方法的,困惑!
最后终于发现了原因,原来是在2.1.2中,如果要通过ognl访问静态方法,必须在struts.properties或者struts.xml 中将选项struts.ognl.allowStaticMethodAccess设置为true .
分享到:
相关推荐
在Struts2中,配置静态资源是为了确保像CSS、JavaScript、图片等非Action处理的资源能够正常被浏览器访问。这些资源通常不涉及业务逻辑,而是用于页面展示和交互。配置静态资源对于优化应用性能和提升用户体验至关...
6. **Struts2的OGNL表达式**:在Freemarker模板中,可以利用Struts2的OGNL(Object-Graph Navigation Language)表达式来访问复杂的对象结构和方法。例如,`${user.address.city}`可以访问User对象的嵌套属性address...
在使用"struts2-scan.py"这个Python脚本时,你需要确保你有相应的环境支持Python运行,并且对目标Struts2应用有一定的访问权限。通常,这个脚本会遍历一系列的漏洞测试用例,针对每个可能的漏洞进行探测。扫描完成后...
投影是Struts2中将对象属性映射到视图组件的方式,允许在JSP中直接使用对象的属性而无需显式地调用getter方法。 以上就是"马士兵Struts2笔记2013"中涉及的主要知识点,这些内容涵盖了Struts2的基础配置、数据处理...
7. 访问静态属性:<s:property value="@com.wj.struts2.util.OGNLUtil@URL"/> 访问Math类的属性 8. 访问Math类的属性:(5,3)"/> 访问普通类的构造方法 9. 访问普通类的构造方法:<s:property value="new com.wj....
八、访问静态属性 OGNL 也可以访问 ValueStack 中的静态属性,例如: <s:property value="@com.bjsxt.struts2.ognl.S@STR"/> 这将访问 com.bjsxt.struts2.ognl.S 类的静态属性 STR。 九、访问 Math 类的静态方法...
Struts2 访问 Servlet API 方法总结 Struts2 框架提供了多种方式来访问 Servlet API,包括使用 ActionContext 类、实现接口和使用 ServletActionContext 类等。在本文中,我们将详细介绍 Struts2 访问 Servlet API ...
例如,struts.ognl.allowStaticMethodAccess常量设置为true时,OGNL将能够访问静态方法和属性。 在掌握Struts2和OGNL的基础上,开发者可以进一步学习Struts2的其他组件和特性,如标签库、异常处理、国际化支持、...
`struts.xml`用于配置Action、结果、拦截器等,而`struts.properties`通常用于设置全局属性。 7. **插件支持**: Struts2拥有丰富的插件库,如Struts2-dojo-plugin用于集成Dojo库,Struts2-convention-plugin则支持...
OGNL(Object-Graph Navigation Language)是Struts2中用于数据绑定的语言,它允许在标签中直接访问Action对象的属性。例如,`<s:property value="#session.user.name" />`就能显示会话中用户对象的姓名属性。 五、...
此外,Struts2支持主题(theme),默认主题为simple,用户可以通过设置组件的theme属性来自定义页面样式。 2. `org.apache.struts2.config`: 包含与配置相关的接口和类,负责XML和properties文件的读取和解析。 3....
Struts2使用“值栈”来传递数据到视图,这意味着Action中的属性可以直接在JSP中访问。 5. **JSP页面和Struts2标签**: JSP页面是视图层,Struts2提供了一系列的标签库,如`s:property`、`s:textfield`等,它们简化了...
它可以方便地访问和修改对象属性,实现数据绑定。 6. **插件与集成**: - Struts2有丰富的插件库,如Struts2-dojo-plugin、Struts2-jquery-plugin等,方便与前端JavaScript库集成,实现富客户端效果。 - Struts2...
本文将深入解析Struts 2中的关键属性,这些属性在项目配置中扮演着核心角色,对理解框架行为、优化性能以及定制化需求具有重要意义。 ### Struts 2 的关键属性详解 #### 1. struts.configuration 此属性用于指定...
2. **配置文件**:通常包括struts.xml,这是Struts2的核心配置文件,用来定义Action、Action的执行方法、结果页面等。 3. **拦截器(Interceptors)**:Struts2的拦截器机制使得在Action执行前后可以添加自定义的...
这通常涉及到添加`<result-type>`元素,并设置`class`属性为`org.apache.struts2.views.freemarker.FreemarkerResult`。 2. **创建FreeMarker模板**:在项目的`/WEB-INF/freemarker`目录下创建`.ftl`文件,这是...
4.静态方法访问 24 5.默认类Math的访问 24 6.调用普通类的构造方法 25 7.集合对象初步 25 8.集合对象进阶 25 9.N语法top语法 26 10.获取Stack Context中的信息 26 11.总结$ # %的区别 27 12.总结OGNL[重点] 27 五、...
3. 在Struts2配置文件(如`struts.xml`)中配置Action,包括Action的类路径、方法映射、结果类型等。 4. 使用OGNL或FreeMarker表达式在模板中引用Action的属性。 5. 配置数据源连接MySQL数据库,可能涉及实体类、DAO...
7. **运行与测试**:完成以上配置后,开发者可以在本地服务器上运行Basic_Struts2_Ant项目,通过浏览器访问预设的URL来测试Struts2框架是否正确工作。如果一切顺利,应该能看到预期的输出,比如一个简单的欢迎页面或...
如果要访问静态属性,首先需要在Struts2的配置中开启对静态属性的访问,例如:`struts.ognl.allowStaticMethodAccess=true`,然后使用`<s:property value="@com.softeem.LoginAction@attrName"/>`来获取。...