(二)Struts2的通配符配置

来源:互联网 发布:淘宝直通车软件哪个好 编辑:程序博客网 时间:2024/06/06 23:26

首先需要注意的是Struts2的struts.xml,必须要遵循一个规范,那就是 约定优于配置.


在Struts2中,为了减少配置量,而使用了通配符的配置.


<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>    <constant name="struts.devMode" value="true" />    <package name="actions" extends="struts-default" namespace="/actions">        <action name="Student*" class="org.credo.action.StudentAction" method="{1}">            <result>/Student{1}_success.jsp</result>        </action>                <action name="*_*" class="org.credo.action.{1}Action" method="{2}">            <result>/{1}_{2}_success.jsp</result>            <!-- {0}_success.jsp -->        </action>    </package></struts>


UI页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="/struts-tags" prefix="s" %><% String context = request.getContextPath(); %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>    <body>   使用通配符,将配置量降到最低<br /><a href="<%=context %>/actions/Studentadd">添加学生</a><a href="<%=context %>/actions/Studentdelete">删除学生</a><br />不过,一定要遵守"约定优于配置"的原则<br /><a href="<%=context %>/actions/Teacher_add">添加老师</a><a href="<%=context %>/actions/Teacher_delete">删除老师</a><a href="<%=context %>/actions/Course_add">添加课程</a><a href="<%=context %>/actions/Course_delete">删除课程</a>  </body></html>


可以看到,第一个action配置,对应UI中的2个学生.

如果点击第一个"添加学生",那么 第一个action配置中的*就是 add.

那么配制中的method也就是 add方法体.进入方法体将会执行add方法.  删除学生就是执行delete方法.

这个是通配符的简易应用.


现在再看第二个配置.就是下面这些配置:

<action name="*_*" class="org.credo.action.{1}Action" method="{2}">            <result>/{1}_{2}_success.jsp</result>            <!-- {0}_success.jsp -->        </action>

而在UI中,如果是 Teacher_add,那么class就是com.bjsxt.struts2.action.TeacherAction,method就是add.那么就会进入action-->TeacherAction,寻找并执行add方法.

如果成功了,那么就跳转到result=success中的页面 /{1}_{2}_success.jsp==>Teacher_add_success.jsp. 


所以你可以发现,使用通配符后,你新建的action,UI页面,完全可以按照这个配置的规则.而不需要在struts.xml中写新的配置.


所以使用通配符,必须要在小组内约定好规则.写一份详细的文档,不费多少时间的,但能给整个项目的开发带来效率.文档宁可让人觉得罗嗦,别让人觉得搞不清楚细节.

原创粉丝点击