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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值