簡體   English   中英

如何將“/ user / {user_id}”之類的網址映射到特定操作?

[英]How to map URL like “/user/{user_id}” to a specific action?

如何將正則表達式數字類(\\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> 

在此示例中,如果請求url /fiction/content/Frankenstein ,則BookAction的字段“ type ”將設置為“ fiction ”,字段“ title ”將設置為“ Frankenstein ”。

請注意,如果您在prepare()方法中需要這些參數,則需要一個調整好的攔截器堆棧

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM