2009-10-07 4 views

ответ

1

Я использую URL переписывания, чтобы получить такого рода гибких отображений работает (хотя вы, вероятно, могли бы сделать это в распорок собственно, возможно, с вашим собственным перехватчика или что-то). Там большой маленький проект, urlrewritefilter, который выполняет свою работу. В вашем URL переписывания конфигурации вы бы правило как:

<rule> 
    <from>^/(\d+)$</from> 
    <to>/action?id=$1</to> 
</rule> 

Посмотрите на the manual, чтобы увидеть, если это то, что вы ищете.

0
<action name="12345"> 
    <result type="redirect-action"> 
     <param name="actionName">action</param> 
     <param name="id">12345</param> 
    </result> 
</action> 

UPDATE Ok. На основе приведенного ниже комментария.

В прошлом я так поступил таким образом. Создайте пакет в struts с любым действием catch.

<package name="numbers"> 
    <action name="*" class="my.package.ActionClass" method="urlrewrite"> 
     <result type="redirect-action"> 
      <param name="actionName">${nextpage}</param> 
      <param name="id">${id}</param> 
     </result> 
    </action> 
</package> 

Тогда в urlrewrite метод класса действия:

public String urlrewrite(){ 
    //parse the url and determine the ID and the next page 
    nextpage = "action"; 
    id = "12345"; 
    return SUCCESS; 
} 

Так что в вызове действия вы должны сделать так:

http://www.mysite.com/numbers/12345.action 

Если вы не хотите новый пакет, то вы можете сделать это в пакете по умолчанию.

+0

Я думаю, что он хочет что-то, что будет работать на всех числовых значений под корень, а не только +12345 – wds

+0

Спасибо! Но поскольку http://stackoverflow.com/users/10098/wds сказал, что мне нужен самый короткий URL-адрес, который будет работать на всех численных под корнем, например https://bugs.eclipse.org/291547 –

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