struts通配符 wildcard

使用通配符,将配置量降到最低         一定要遵守"约定优于配置"的原则


例子:

Sturts.xml   内容:

Studentadd    > Student* > *_*       //action的精 确定义大于 带 通配符的,带通配符的是同等级别,谁在前面调用谁。

<package name="actions" extends="struts-default" namespace="/actions">

<action name="Studentadd" class="cn.vcy168.action.StudentAction" >
            <result>/Studentadd_success.jsp</result>
        </action>


        <action name="Student*" class="cn.vcy168.action.StudentAction" method="{1}">//{1}代表第一个 * (通配符)的方法;
            <result>/Student{1}_success.jsp</result>     //index.jsp返回什么,就打开那个jsp。如返回add acton中 name="Studentadd"打开Studentadd_success.jsp    返回del,acton中 name="Studentadd",打开Studentdel_success.jsp.
        </action>

       
        <action name="*_*" class="cn.vcy168.action.{1}Action" method="{2}"> //{1}代表第一个 * 的内容{2}代表第2个 * 的内容 (*_* 是显示的方式 要有 xxxxAction这种类文件 方便添加新的模块和方法。只要修改xxxAction.java就可以了。)
            <result>/{1}_{2}_success.jsp</result>   //要有 xxx_xxx_success.jsp 这种名子的jsp文件 x 为任意字符。
            <!-- {0}_success.jsp -->
        </action>

    </package>

class文件StudentAction内容:

package cn.vcy168.action;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
public String add() {
   return SUCCESS;
}
public String delete() {
   return SUCCESS;
}

}

index.jsp连接处内容:

<a href=actions/Studentadd">添加学生</a>       // 调用绿色内容


<a href="actions/Studentdelete">删除学生</a>   // 调用红色内容

<a href="actions/Teacher_add">添加老师</a>   // 调用蓝色内容    调用TeacherAction   Class文件

<a href="actions/Teacher_delete">删除老师</a>   // 调用蓝色内容 调用TeacherAction   Class文件


<a href="actions/Course_add">添加课程</a>    // 调用蓝色内容   调用CourseAction   Class文件


<a href="actions/Course_delete">删除课程</a>   // 调用蓝色内容 调用CourseAction   Class文件

以后如要加新的模块,只要新建 Aaa_bbb_sucess.jsp     再新建一个 AaaActon class文件。新建bbb方法,布入Struts.xml 就可以了。不用修改以前内容。

你可能感兴趣的:(struts通配符 wildcard)