`
Luob.
  • 浏览: 1590369 次
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2 OGNL动态配置result(十八)

阅读更多
1.动态配置result
使用通配符动态配置result,<result>元素为{1}.jsp,这是根据URL参数来匹配的,如果根据Action中的属性名称来进行动态配置,那么就需要使用OGNL表达式
实例:


2.案例 :采用action中的persoName动态获取 结果页面
struts.xml
<package name="default" extends="struts-default">
		<!-- redirect resytype test -->
		<action name="test2" class="com.luob.action.DispatcherTest">
			<result type="redirect">/testSuccess.jsp</result>
		</action>
		
		<!-- ognl test -->
		<action name="ognlTest" class="com.luob.action.DispatcherTest">
			<result name="success">/${personName}.jsp</result>
		</action>
	</package>


action
package com.luob.action;

import com.opensymphony.xwork2.ActionSupport;

public class DispatcherTest extends ActionSupport {
  private String personName;
  private String personTelephone;
  private String personAddress;
  
  
  
	@Override
public String execute() throws Exception {
	// TODO Auto-generated method stub
	return SUCCESS;
}
	public String getPersonName() {
		return personName;
	}
	public void setPersonName(String personName) {
		this.personName = personName;
	}
	public String getPersonTelephone() {
		return personTelephone;
	}
	public void setPersonTelephone(String personTelephone) {
		this.personTelephone = personTelephone;
	}
	public String getPersonAddress() {
		return personAddress;
	}
	public void setPersonAddress(String personAddress) {
		this.personAddress = personAddress;
	}
  
  
}


OGNLTest.jsp
<body>
    您添加的联系人信息为:
    注意,输入的时候 如果在personName输入 admin 就返回到admin.jsp
     如果输入 aa 就返回的 aa.jsp
  <hr/>
  <s:form action="ognlTest" method="post" >
  <s:textfield name="personName" label="姓名"/>
  <s:textfield name="personTelephone"  label="电话"/>
  <s:textfield name="personAddress" label="地址"/>
  <s:submit value="提交"/>
  </s:form>
  </body>


admin.jsp
 <body>
    您添加的联系人信息为:admin.jsp
  <hr/>
	联系人姓名:<s:property value="personName"/>
 	联系人电话:<s:property value="personTelephone"/>
 	联系人地址:<s:property value="personAddress"/>
  </body>
分享到:
评论

相关推荐

    struts2 ognl用法项目

    - **配置文件**:Struts2的配置文件(struts.xml)中,可能包含OGNL表达式来指定结果页面或拦截器的参数。 这个项目对于初学者来说是一个很好的起点,因为它提供了实际的代码示例,帮助理解如何在实际项目中使用...

    Struts2 ognl

    Struts2 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它在Struts2框架中扮演着核心角色,用于数据绑定、控制流程以及动态方法调用。这篇博文可能详细介绍了Struts2框架中OGNL的使用、工作原理...

    Struts2_OGNL

    此外,Struts2框架还支持配置常量,如struts.enable.DynamicMethodInvocation和struts.devMode,允许开发者控制Struts2的行为。例如,struts.ognl.allowStaticMethodAccess常量设置为true时,OGNL将能够访问静态方法...

    struts2 ognl源码

    OGNL(Object-Graph Navigation Language)是Struts2中的核心表达式语言,用于在Action对象和视图之间传递数据。在这个主题中,我们将深入探讨Struts2 OGNL2.6.11的源码,了解其内部工作原理和关键功能。 首先,...

    struts2 OGNL表达式

    在Struts2的配置文件中,如struts.xml或struts.properties,你可以看到OGNL表达式的使用。例如,当定义一个Action的返回结果时,你可以指定一个JSP页面并使用OGNL表达式来决定页面上显示哪些数据: ```xml ...

    Struts2 OGNL示例(Maven项目)

    创建一个基于Maven的Struts2项目时,首先需要在`pom.xml`文件中配置相关的依赖,比如Struts2的核心库和OGNL库。这些依赖将确保在构建过程中自动下载并引入到项目中。例如: ```xml &lt;groupId&gt;org.apache.struts ...

    struts2_OGNL Demo

    通过分析这个项目,开发者可以了解如何在实际应用中组织Struts2的Action、配置文件、以及如何利用OGNL进行数据操作。同时,对于使用Eclipse或MyEclipse进行Java Web开发的初学者来说,也是一个很好的学习实例,有助...

    对 Struts2 OGNL 的分析与简介

    因此,在使用Struts2时,应当启用OGNL的安全配置,如禁用不受信任的上下文访问和方法调用。 总的来说,OGNL是Struts2框架中不可或缺的一部分,它极大地增强了数据绑定和表达式的灵活性。然而,这也要求开发者在设计...

    struts2 ognl

    3. **结果映射**:在Struts2配置文件中,OGNL用于指定动作执行后跳转的视图资源,如`&lt;result name="success"&gt;/success.jsp&lt;/result&gt;`。 4. **拦截器参数**:OGNL还用于传递参数给拦截器,以便在请求处理流程中进行...

    STRUTS2+ognl

    Webwork是Struts2的前身,它引入了许多现代Web框架的特点,如拦截器、动态方法调用等。Struts2在继承Webwork的基础上,进行了优化和改进,使其更适合大规模的企业级应用开发。 **Ognl** Ognl是一种强大的表达式语言...

    struts2-OGNL表达式测试

    6. **异常处理**:在Struts2的拦截器中,可以使用OGNL处理异常,例如`&lt;result type="tiles"&gt;error&lt;/result&gt;&lt;exception-mapping exception="java.lang.Throwable" result="error" /&gt;`,当发生异常时,会跳转到错误...

    struts2OGNL表达式ActionContext及valuesStack.pdf

    其次,`$`在Struts2配置文件中引用OGNL表达式,例如在定义action的结果时,`&lt;result type="redirect"&gt;ListPhotos.action?albumId=${albumId}&lt;/result&gt;`会将`${albumId}`表达式的值作为查询参数传递。 Struts2的OGNL...

    struts2-xwork-ognl的源文件(jar包)

    `struts2-core-2.3.7-sources.jar` 是Struts2核心库的源代码,其中包含了许多关键组件,如Action、拦截器(Interceptor)、结果类型(Result Type)以及配置管理等。Action是Struts2的核心,它代表了用户请求的业务...

    Struts2 OGNL表达式实例详解

    Struts2 OGNL表达式实例详解 Struts2 OGNL表达式实例详解主要介绍了Struts2 OGNL表达式实例详解,相关实例代码,需要的朋友可以参考。Object Graph Navigation Language(对象图导航语言),就是用点来访问成员变量...

    Struts2 & OGNL

    4. **结果映射(Result Mapping)**: 在配置文件中,我们可以使用OGNL表达式来决定Action执行后跳转到哪个页面,或者如何构造URL。 5. **动态方法调用**: OGNL支持动态方法调用,这意味着你可以根据对象属性的值来...

    struts2 and ognl

    - 中文教程和帮助文档可以帮助初学者快速理解Struts2的基本概念和使用方法,了解其核心组件、配置以及OGNL的运用。 总之,Struts2结合OGNL为Java web开发提供了强大的工具,使开发者能更专注于业务逻辑,而不是...

    Struts2包和配置文件

    在你提供的压缩包中,可能包含了Struts2框架的所有核心组件、依赖库和必要的配置文件,这些都是构建基于Struts2的应用所必需的。 首先,我们来看一下Struts2的核心组件: 1. **Action类**:这是业务逻辑的载体,...

    Ognl在Struts2中的应用 源码

    在Struts2中,Action的结果配置可以包含OGNL表达式,用于动态指定跳转的页面或传递参数。如`&lt;result name="success"&gt;/success.jsp?${param}&lt;/result&gt;`,这里的`${param}`会被解析为请求参数的值。 **5. OGNL表达式...

Global site tag (gtag.js) - Google Analytics