(1)使用通配符,将配置量降到最低
(2)一定要遵守“约定优于配置”的原则。
(3)*,{1},{2},…,*_*,…
struts.xml
<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<package name="wildcard" namespace="/wildcard" extends="struts-default">
<span style="color:#ff0000;"><!--此处的*用来匹配StudentAdd或者StudentDelete {1}用来匹配相应的action所对应的方法add或者delete --></span>
<action name="<span style="background-color: rgb(255, 102, 102);">Student*</span>" class="com.dqpi.eonline.StudentAction" <span style="color:#ff6666;">method="{1}</span>">
<result>
<span style="background-color: rgb(255, 255, 102);">/Student{1}_success.jsp</span>
</result>
</action>
<action<span style="background-color: rgb(255, 255, 0);"> name="*_*" class="com.dqpi.eonline.{1}Action" method="{2}"</span>>
<span style="color:#ff0000;"><!--此处的{1}由于是类的名字需要首字母大写,所以在写jsp的名字时候第一个所匹配的也应该是大写 --></span>
<result>
/{1}_{2}_success.jsp
</result>
</action>
</package>
</struts>
</span>
index.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath -->
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<a href="wildcard/StudentAdd!add">添加学生</a>
<a href="wildcard/StudentDelete!delete">删除学生</a><br/>
<a href="wildcard/Teacher_add!add">添加老师</a>
<a href="wildcard/Teacher_delete!delete">删除老师</a><br/>
<a href="wildcard/Course_add!add">添加课程</a>
<a href="wildcard/Course_delete!delete">删除课程</a>
</body>
</html>
</span>
StudentAdd_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 此处引进了struts的标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>student_add_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
student Add Success<br>
</body>
</html>
</span>
StudentDelete_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 此处引进了struts的标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>student_delete_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
student_delete_success<br>
</body>
</html>
</span>
Teacher_add_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 此处引进了struts的标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>teacher_add_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
teacher_add_success<br>
</body>
</html>
</span>
Teacher_delete_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>teacher_delete_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
teacher delete success <br>
</body>
</html>
</span>
Course_add_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 此处引进了struts的标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>course_add_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
course Add Success<br>
</body>
</html>
</span>
Course_delete_success.jsp
<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>course_delete_success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
course_delete_success <br>
</body>
</html>
</span>
TeacherAction.java
<span style="font-size:18px;">package com.dqpi.eonline;
import com.opensymphony.xwork2.ActionSupport;
public class TeacherAction extends ActionSupport {
private static final long serialVersionUID = 1L;
public String add(){
return SUCCESS;
}
public String delete(){
return SUCCESS;
}
}</span>
StudentAction.java
<span style="font-size:18px;">package com.dqpi.eonline;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport {
private static final long serialVersionUID = 1L;
public String add(){
return SUCCESS;
}
public String delete(){
return SUCCESS;
}
}</span>
CourseAction.java
<span style="font-size:18px;">package com.dqpi.eonline;
import com.opensymphony.xwork2.ActionSupport;
public class CourseAction extends ActionSupport {
private static final long serialVersionUID = 1L;
public String add(){
return SUCCESS;
}
public String delete(){
return SUCCESS;
}
}
</span>