画面遷移

S2JSFを使っていて、JSFのnavigation-rule(あるいはStrutsのforward)による画面遷移は少し機能不足だと思いました。


1. 接続プロトコルの切り替えができない

SSL画面からSSL画面への遷移を記述できません。逆も同じです。


2. 次画面にパラメータを渡せない

edit_employee.htmlで従業員情報を編集し、submitされた内容を整形してview_employee.htmlで表示するというパターンの場合、アクションの記述例は次のようになると思います。

public class EditEmployeeActionImpl {
    public String execute() {
        employeeLogic.edit(editEmployeeDto); // [A]
        viewEmployeeDto = employeeLogic.view(editEmployeeDto.getId()); // [B]
        return "view_employee";
    }
}

view_employee.html?id=123のように従業員IDを次画面へ渡せれば良いのですが、それができないので、[B]で前もって表示ロジックを実行する必要が出てきてしまいます。


もちろん、1も2もresponseのリダイレクト等で解決できます。ただ、頻出するパターンなので、フレームワークのサポートがあれば便利だと感じました。