私は自分自身が次のことをたくさんやっていることに気づきました:
/**
* Redirect to a MVC controller&action
* @param controller
* @param action
*/
public void redirect(String controller, String action) {
redirect(controller, action, new HashMap<String, String>());
}
/**
* Redirect to a MVC controller&action with extra URL parameters
* @param controller
* @param action
* @param data
*/
public void redirect(String controller, String action, Map<String, String> data) {
String urlParameters = "";
for(String key : data.keySet()) {
urlParameters += "&" + key + "=" + data.get(key);
}
m_binder.putLocal("RedirectParams", "IdcService=MVC_FRONTCONTROLLER&controller="+controller+"&action="+action + urlParameters);
}
2番目のメソッドを呼び出すには、実際にハッシュマップを作成してデータを追加する必要がありますが、これを実現するためのより便利な方法があるかどうか疑問に思っていましたか?
ご覧のとおり、キーと値の両方を知る必要があるため、varargs は機能しません (私が見る限り)。
リフレクションの使用を含め、あらゆるアイデアを受け入れます。