2011-04-17 33 views
5

Tôi đã tự hỏi làm cách nào bạn có thể thêm thông báo "thành công" trên trang JSF khi dữ liệu được gửi trong biểu mẫu h: hợp lệ. ví dụ. "ghi thành công được chèn". Tôi đã thử sử dụng FacesContext.addMessage (String clientId, String message), nhưng thông điệp được hiển thị trong cùng một hộp h: messages hiển thị thông báo lỗi trong trường hợp dữ liệu không hợp lệ, dẫn đến văn bản có màu đỏ. Tôi không muốn sử dụng JavaScript Alerts.Cách hiển thị thông báo thành công JSF

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

7

sử dụng lớp phong cách khác nhau

h:messages infoStyle="color:darkgreen" errorStyle="color:darkred" 

Khi thêm nhắn cho sự thành công

FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null); 

cho sự thất bại

FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, message,  null); 
3

Sử dụng null như ID khách hàng để làm cho nó một thông điệp toàn cầu và sử dụng sau đây trong giao diện để hiển thị các thông điệp toàn cầu duy nhất:

<h:messages globalOnly="true" /> 

Chỉ cần đặt một nơi nào đó bên dưới hoặc phía trên hình thức, tùy thuộc vào yêu cầu chức năng . Nếu bạn đã sử dụng <h:messages/> để hiển thị các lỗi xác thực thay vì <h:message/> cho từng yếu tố đầu vào, thì bạn cần đặt globalOnly="false" trên phần tử này.

+0

Cảm ơn trả lời nhanh chóng của bạn. Giải pháp của bạn dường như không hoạt động. Thông điệp thành công được hiển thị trong cả h: hộp thư. Mã của tôi trông giống như ... Bart1990

+0

Chỉ cần đặt 'globalOnly =" false "' trên cái kia :) Xem cập nhật câu trả lời. – BalusC

+0

Đáng tiếc là tôi vẫn nhận được thông báo hai lần, quan điểm trông giống như: ... Và mã: chuỗi công cộng AddJongere() { jDao.insertJongere (currentJongere); ContextProvider.getFacesContext(). AddMessage (null, mới FacesMessage ("Jongere succesvol ingeschreven", "Succesvol")); trả về null; } Tôi đang làm gì sai? – Bart1990

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