2015-07-07 13 views
5

Sto creando un'app Web Struts2.Struts2 regex configuration

Desidero un URL come www.xyz.com/portal/orgCode/signin, questo orgCode è dinamico, quindi sto usando espressioni regolari per quello.

configura come struts.xml:

<constant name="struts.devMode" value="false" /> 
<constant name="struts.enable.DynamicMethodInvocation" value="true" /> 
<constant name="struts.action.extension" value=",html,action" /> 
<constant name="struts.action.excludePattern" value=".*unfiltered.*,.*\\.nofilter" /> 
<constant name="struts.multipart.maxSize" value="2097152000"/> 
<constant name="struts.enable.SlashesInActionNames" value="true"/> 
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/> 
<constant name="struts.patternMatcher" value="regex" /> 

<package name="portal" namespace="/portal/{orgCode}" extends="default"> 
    <interceptors> 
     <interceptor name="portalUrlInterceptor" 
        class="com.wtmit.service.portal.interceptor.PortalCommonInterceptor"> 
     </interceptor> 
     <interceptor-stack name="commonPortalUrlInterceptor"> 
      <interceptor-ref name="portalUrlInterceptor" /> 
      <interceptor-ref name="defaultStack" /> 
     </interceptor-stack> 
    </interceptors> 

    <action name="signin" method="signin" 
      class="com.wtmit.service.portal.action.PortalSignInAction">   
     <interceptor-ref name="commonPortalUrlInterceptor"></interceptor-ref> 
     <result name="portalSignIn" type="tiles">portalSignIn</result> 
     <result name="successLogin" type="redirect">home</result> 

    </action> 
</package> 

questo sta lavorando bene, ma gli URL come www.xyz.com/mainLogin non funziona per la seguente configurazione:

<package name="main" namespace="/" extends="default"> 
    <action name="*Login" method="{0}" class="com.service.user.action.LoginAction"> 
     <result name="login" type="tiles">login</result> 
     <result name="successLogin" type="redirect">home</result> 
    </action> 
</package> 

L'errore è

Stato HTTP 404 - Non esiste alcuna azione mappata per lo spazio dei nomi/e il nome dell'azione mainLogin.

+1

Penso che la tua domanda ha già la sua risposta. .. vedi il configurazione xml ancora una volta ... – CoderNeji

+0

Mostra il tuo pacchetto 'default'. –

+0

' ./ error500 eccezione ' –

risposta

2

si stia mescolando Wildcards con Advanced Wildcards; invece di questo:

<action name="*Login" method="{0}" class="com.service.user.action.LoginAction"> 

provare a utilizzare questo: legge

<action name="/{method}/Login" method="{1}" class="com.service.user.action.LoginAction"> 

correlati:

+0

Grazie Nel mio caso ' ..' e ' ' insieme non funziona .. quando commento '' then ' ..'sta funzionando bene e in quel caso la mappatura delle regex non funziona –

+0

è questo' 'lavoro con [collegamento] (http://example.com/mainLogin) http://example.com/mainLogin? –

+0

funziona con 'example.com/main/Login'. Puoi provare con '' altrimenti –

Problemi correlati