2011-01-04 5 views
0

Ich habe eine Struts Aktion, die ein DTO als Mitglied hat:Struts: "Aliasing" Parameternamen, von "foo.bar" bis "b"

public class MyAction { 
    private MyDTO dto; 

    void execute() { 
     String bar = dto.getBar() ; 
    //struts has mapped GET parameter dto.bar by calling dto.setBar() 
    // do something with bar: 
    return bar != null ? SUCCESS : INPUT; 
    } 
} 

ich den Parameter auf "b" genannt will auf dto.bar abgebildet werden, um meine GET-URL sauberer zu machen. Statt: http://myurl?dto.bar=xxx Ich mag: http://myurl?b=xxx

Ich weiß, dass ich das, indem zu meiner Aktion tun kann eine setb (final String b), aber das würde meinen Code spröder und schwieriger zu verstehen machen.

Gibt es eine Möglichkeit, Struts diese Zuordnung zu tun, so dass für eine URL von http://myurl?b=xxx, MyAction.getDto.setBar() aufgerufen wird?

Antwort