RegEx:/article/list/(\d+)_(\d+)$
URL: /article/list.vhtml?ClassID=$1&SubjectID=$2
当我获得这个URI的时候
/article/list/24_2
Java中的java.util.regex 包中是否有方法把 第一组和第二组值填入 $1 $2 处?这样就可以轻松变成:
/article/list.vhtml?ClassID=24&SubjectID=2请高人指点,小生有礼了。
URL: /article/list.vhtml?ClassID=$1&SubjectID=$2
当我获得这个URI的时候
/article/list/24_2
Java中的java.util.regex 包中是否有方法把 第一组和第二组值填入 $1 $2 处?这样就可以轻松变成:
/article/list.vhtml?ClassID=24&SubjectID=2请高人指点,小生有礼了。
先截取到24、2 , 然后分别用24替换$1、2替换$2 .
System.out.println(sIds.replaceAll("(.*)/(\\d+)_(\\d+)$", "$1+.vhtml?ClassID=$2&SubjectID=$3"));
String url = "/article/list/24_2";
String value = url.subString(url.lastIndexOf("/"),url.length());
String[] values = value.split("_");
String otherUrl = "/article/list.vhtml?ClassID=$&SubjectID=$";
for(int i = 0; i < values.length; i++) {
otherUrl = otherUrl.replaceFirst("$",values[i]);
}
urlrewrite.xml里面就可以像楼主那样写。比如
<rule>
<from>/article/list/(\d+)_(\d+)$ </from>
<to>/article/list.vhtml?ClassID=$1&SubjectID=$2</to>
</rule>