2

У меня возникли проблемы с правилами исходящих URL-адресов Tuckey. Мы используем Tuckey с Struts2.tuckey исходящие правила не работали

Outbound правило:

<outbound-rule> 
    <from>^/articleList\?category=(\d*)&amp;page=(\d*)(;jsessionid=.*)?$</from> 
    <to last="true">/list/$1/$2</to> 
</outbound-rule> 

JSP:

<a href="<s:url value="/articleList" ><s:param name="category" 
value="#article.category" /><s:param name="page" value="1" /></s:url>" target="_blank[articlelist]</a> 

Хотя он говорит, обработки исходящего правила это не пересылает на мой URL. В url-rewritestatus он показывает все мои правила, но не отображает совпадающие. отладки журнала:

org.tuckey.web.filters.urlrewrite.UrlRewriter DEBUG: processing outbound url for /articleList?category=3&amp;page=1 
org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: Outbound Rule 0 run called with /articleList?category=3&amp;page=1 
org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: Outbound Rule 1 run called with /articleList?category=3&amp;page=1 
org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: Outbound Rule 2 run called with /articleList?category=3&amp;page=1 
org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: Outbound Rule 3 run called with /articleList?category=3&amp;page=1 
org.tuckey.web.filters.urlrewrite.RuleBase DEBUG: Outbound Rule 4 run called with /articleList?category=3&amp;page=1 

отладки источник я вижу

url:/articleList?category=1&amp;page=1 
pattern:^/articleList\?category=(\d*)&page=(\d*)(;jsessionid=.*)?$ 

Что я делаю не так?

EVN: struts2 + spring3 jetty

ответ

0

Вы избежали & символ в URL, и вы видите в исходном коде это &amp;. Это не позволяет шаблону соответствовать URL-адресу. Попробуйте изменить шаблон, чтобы он соответствовал как экранированному, так и неэкранированному амперсанду.

<from>^/articleList\?category=(\d*)(\&|&amp;){1}page=(\d*)(;jsessionid=.*)?$</from> 
+0

спасибо! Я пытаюсь изменить , но у меня есть ошибка. – user3159659

+0

добавить опцию [escapeAmp = "false"] в s: url и исправить ее – user3159659

Смежные вопросы