struts.xml配置文件中通配符详解

在struts.xml中,我们可能对普通的配置使用比较多,什么通配符、结果返回Json格式等,这种不具有普遍性,并不是每一个开发者每一个项目都用到的东西。例如下面这个配置我们使用的比较多:

<package name=”finance” extends=”struts-default”><action name=”login” class=”com.fyw.user.action.LoginAction” method=”login”><result name=”success”>/success.jsp</result><result name=”error”>/error.jsp</result></action></package>

这是一个最基本的配置,对于struts.xml的所有配置详解我会后续的文章中进行介绍,这里我们只关注struts.xml中通配符的使用方法,例如:

<package name=”finance” extends=”struts-default”><action name=”*/*/*” class=”com.fyw.{1}.action.{2}Action” method=”{3}”><result name=”success”>/{3}.jsp</result><result name=”error”>/{0}.jsp</result></action></package>

当一个没有用过通配符的开发者看到这段配置文件后会一头雾水,我第一次看到时也是这种感觉,下面我来详细介绍下这几个数字的含义。 使用通配符我们可以通过传过来的URL访问路径来确定类的名及方法甚至返回的页面路径及页面名称。 例如:我们传一个order/user/login.do时,第一个和{1}匹配,第二个和{2}皮牌,第三个*和{3}匹配,{0}表示整个请求的url,因此上面的配置文件就变成了我们熟悉的:

<package name=”finance” extends=”struts-default”><action name=”*/*/*” class=”com.fyw.order.action.UserAction” method=”{login}”><result name=”success”>/login.jsp</result><result name=”error”>/orderuserlogin.jsp</result></action></package>

注意:使用多个*时候中间一定要有分隔符,一般用”/”或者”_”来表示 通配符的优点: 减少了开发人员的配置工作 缺点: 1、在struts2中使用通配符与否的请求过程是不同的,当用户请求URL后,struts2首先会遍历通配符以外的所有配置,如果找到了对应的URL则直接进入action,,如果没有找到才会去 遍历通配符,如果有相匹配的通配符,再进入到相对应的action,所以,使用通配符要比未使用通配符要慢。 2、开发人员要特别小心配置,如果对应不起来或者不清楚对应规则很容易出错

今日的执着,会造成明日的后悔。

struts.xml配置文件中通配符详解

相关文章:

你感兴趣的文章:

标签云: