1.动态配置result
2.案例 :采用action中的persoName动态获取 结果页面
struts.xml
action
OGNLTest.jsp
admin.jsp
使用通配符动态配置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>