如何将正则表达式数字类映射(\d)
到操作?
例子:
/user/123 , /user/345, /user/546456 ....
如何将正则表达式数字类映射(\d)
到操作?
例子:
/user/123 , /user/345, /user/546456 ....
使用高级通配符:
高级通配符
从 2.1.9+ 开始,可以在动作名称中定义正则表达式。要使用这种形式的通配符,必须设置以下常量:
<constant name="struts.enable.SlashesInActionNames" value="true"/> <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/> <constant name="struts.patternMatcher" value="regex" />
正则表达式可以有两种形式,最简单的一种是
{FIELD_NAME}
,在这种情况下,FIELD_NAME
动作中带有 的字段将填充匹配的文本,例如:<package name="books" extends="struts-default" namespace="/"> <action name="/{type}/content/{title}" class="example.BookAction"> <result>/books/content.jsp</result> </action> </package>
在这个例子中,如果
/fiction/content/Frankenstein
请求 url,BookAction 的字段“type
”将被设置为“fiction
”,字段“title
”将被设置为“Frankenstein
”。
请注意,如果您需要prepare()
方法中的这些参数,则需要一个调整好的 Interceptor Stack。