在重写规则当中设置静态映射可以简易的实现字符串替换。
静态映射在你做字符串替换的时候特别有用处。合理的利用静态映射表,可以提高你编写重写规则的效率。
以下代码将定义一个名为“areas”的静态映射:
<mapping name="areas">
<map from="sydney" to="1" />
<map from="melbourne" to="2" />
<map from="brisbane" to="3" />
</mapping>
Below, the areas mapping is used to map the value in $1. If the value is not found in the map, then “0″ is used as the default.
以下代码将调用这个以“areas”命名的静态映射。这行代码是将$1替换为预定值,比如:
注意:如果在静态映射表中没有找到与$1匹配的值(匹配的映射),那么将会把“|”后面的值作为“默认值”替换,也就是说:如果找不到$1的映射项,那么它将被替换为“|”后面的值(下面的代码是替换为“0”)。
${areas:$1|0}
下列代码是个简写形式,含义与上边的代码基本相同,唯一的区别是没有了“|”的默认值设置。在这里,如果找不到$3的映射项的话,它将被替换为空字符串(String.Empty)。
${areas:$3}