2011-08-09 19 views
5

Tôi cần tránh POST kép khi làm mới. Vì vậy, tôi đang sử dụng mẫu POST/Redirect/GET (faces-redirect=true) và trình xử lý điều hướng (theo @BalusC) như trong this post. Cách sử dụng mẫu đó trong JSF 2.0 khi phương thức hành động trả lại null (ở lại trên cùng một trang)? Thậm chí có thể hoặc tôi cần sử dụng thứ gì khác mà POST/Redirect/GET? Tôi cần phải giữ một hạt đậu có tầm nhìn, do đó, quay trở lại trong phương pháp hành động xem cùng (PRG hoạt động) không phải là một giải pháp (nguyên nhân bị mất view scope).JSF 2.0: POST/Chuyển hướng/GET mẫu khi phương thức hành động trả về null (nằm trên cùng một trang)

xem test.xhtml:

<h:commandButton action="#{bean.send}"/> 

đậu:

@ManagedBean 
@ViewScoped 
class Bean { 
    String send() { 
     // do something... 
     return null; 
    } 

    String send2() { 
     // do something... 
     return "test"; // view scope lost 
    } 
} 
+0

Xin chào, bạn có thể đưa ra ví dụ về trường hợp sử dụng mà bạn đang cố gắng giải quyết không? –

+0

Bạn đã bao giờ tìm ra điều này chưa? – edhedges

Trả lời

0

Marioosh.

Post/Redirect/Nhận làm hai kịch bản vòng đời:

  • Các chuyển hướng gây ra một Non-Faces đáp ứng (mục 2.1 của JSF 2 spec).

  • Nhận nguyên nhân Yêu cầu không phải đối mặt với Phản hồi khuôn mặt (Mục 2.1.1). Một khung nhìn mới được tạo ra trong kịch bản này.

0

một số khung thực hiện chiến lược này theo mặc định: ví dụ: Spring WebFlow. Mỗi Submit (POST) được theo sau bởi một chuyển hướng GET với tham số "thực thi" cho phép Spring tìm ra khung nhìn SAME. ví dụ:

http://myhost:8080/booking-spring-faces/spring/mypage?execution=e1s2 

Tôi rất muốn tìm tính năng này trong bộ công cụ JSF như Omnifaces từ BalusC!

Các vấn đề liên quan