Ø 動態方法調用與通配符定義Action
u 動態方法調用(在action中用action!方法名的形式)
ü Struts.xml配置文件
<package name="default" extends="struts-default"namespace="/people">
<!-- dynamicWildcardInvokAction -->
<action name="people" class="com.test.dynamicWildcardInvokAction.PersonAction">
<result name="success">/pages/dynamicWildcardInvok/message.jsp
</result>
</action>
</package>
ü Action類
package com.test.dynamicWildcardInvokAction;
public class PersonAction {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String execute(){
this.name="execute";
return "success";
}
public String getMessage(){
this.name="getMessage";
return "success";
}
}
ü Login.jsp
<%@ page language="java"contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<%@ taglib uri="/struts-tags"prefix="s" %>
<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>動態方法調用與通配付定義action</title>
</head>
<body>
<s:form action="people!execute"method="post" namespace="/people">
<s:textfield name="name" label="name"/>
<s:textfield name="age" label="age"/>
<s:submit value="提交"/>
</s:form>
</body>
</html>
u 通配符定義action(格式:action* method=”{1}”)
ü Struts.xml配置文件
<package name="default" extends="struts-default"namespace="/people">
<!-- dynamicWildcardInvokAction -->
<action name="people_*" class="com.test.dynamicWildcardInvokAction.PersonAction"method="{1}">
<result name="success">/pages/dynamicWildcardInvok/message.jsp
</result>
</action>
</package>
ü login.jsp
<%@ page language="java"contentType="text/html; charset=gbk"
pageEncoding="gbk"%>
<%@ taglib uri="/struts-tags"prefix="s" %>
<!DOCTYPE html PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>動態方法調用與通配付定義action</title>
</head>
<body>
<s:form action="people_execute"method="post" namespace="/people">
<s:textfield name="name" label="name"/>
<s:textfield name="age" label="age"/>
<s:submit value="提交"/>
</s:form>
</body>
</html>