package Ġcom . ice c ream qa q . test . yu . controller Ċ Ċ import Ġcom . Ice C ream Q AQ . Yu . annotation .* Ċ Ċ @ Default Controller Ċ class ĠTest New Controller Ġ{ ĊĊĠĠĠ Ġ@ Action (" menu ") ĊĠĠĠ Ġfun Ġmenu () Ġ= Ġ" menu " ĊĊĠĠĠ Ġ@ Action (" m { abc } b { bbc }") ĊĠĠĠ Ġ@ Syn onym ([" c { abc } b { bbc }" ]) ĊĠĠĠ Ġfun Ġmb ( abc : ĠString , Ġb bc : ĠString ) Ġ= Ġ" mb : Ġabc Ġ= Ġ$ abc , Ġb bc Ġ= Ġ$ bbc ." ĊĊĠĠĠ Ġ@ Action ("{ id : BV .{ 1 0 , 1 0 }} ") ĊĠĠĠ Ġfun Ġbv ( id : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException ( id ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Action (" co { id }", Ġload Weight Ġ= Ġ 1 ) ĊĠĠĠ Ġfun Ġco ( id : ĠString ) Ġ= Ġid ĊĊĠĠĠ Ġ@ Action (" co c { id }") ĊĠĠĠ Ġfun Ġc oc ( id : ĠString ) Ġ= Ġid ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġ@ Global ĊĠĠĠ Ġfun Ġbefore (){ ĊĠĠĠĠĠĠĠ Ġprintln (" T NC ĠBefore !") ĊĠĠĠ Ġ} ĊĠĠĠ Ġ@ Global ĊĠĠĠ Ġ@ Before ( weight Ġ= Ġ 2 ) ĊĠĠĠ Ġfun Ġbefore 2 (){ ĊĠĠĠĠĠĠĠ Ġprintln (" T NC ĠBefore 2 !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ĊĠĠĠ Ġ@ Global ĊĠĠĠ Ġfun Ġafter () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" T NC ĠAfter !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ After ( weight Ġ= Ġ 2 ) ĊĠĠĠ Ġ@ Global ĊĠĠĠ Ġfun Ġafter 2 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" T NC ĠAfter 2 !") ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Path (" 1 1 ") Ċ @ Default Controller Ċ class ĠTest New Controller 2 Ġ{ ĊĊĠĠĠ Ġ@ Action (" menu /{ ddd }") ĊĠĠĠ Ġfun Ġmenu ( ddd : ĠString ) Ġ= Ġ" menu : Ġd dd Ġ= Ġ$ ddd " ĊĊĠĠĠ Ġ// ĠĠĠ Ġ@ Test Hook ĊĠĠĠ Ġ@ Action ("{ ddd }/ menu ") ĊĠĠĠ Ġfun Ġmenu 2 ( ddd : ĠString ) Ġ= Ġ" menu 2 : Ġd dd Ġ= Ġ$ ddd " ĊĊĠĠĠ Ġ@ Action (" a { abc } b { bbc }") ĊĠĠĠ Ġfun Ġab ( abc : ĠString , Ġb bc : ĠString ) Ġ= Ġ" ab : Ġabc Ġ= Ġ$ abc , Ġb bc Ġ= Ġ$ bbc ." ĊĊĠĠĠ Ġ@ Global ĊĠĠĠ Ġ@ Catch ( error Ġ= ĠException :: class ) ĊĠĠĠ Ġfun Ġcatch ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( exception . cause ) ĊĠĠĠ Ġ} Ċ Ċ }