Dưới đây là một: //struts.apache.org/1.3.5/struts-taglib/apidocs/org/apache/struts/taglib/html/package-summary.html#package_description
Ở đây tôi m giả Struts 1. tôi không biết nếu nó đã thay đổi cho Struts 2.
bạn có thể đặt một errors.header và errors.footer vào tập tin nguồn lực thông điệp của bạn:
errors.header=<h3><font color="red">Errors:</font></h3><ul>
errors.footer=</ul>
Các header và footer được hiển thị chỉ khi đối tượng ActionErrors có bất kỳ lỗi nào trong đó.
Trong lớp hành động của bạn, làm điều này:
ActionErrors errors = new ActionErrors();
if (badInput) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.bad.input", badString); // key in messages resource file
// badString will replace {0} in message
}
Sau đó, trước khi trở về:
saveErrors(request, errors);
Trong tập tin tài nguyên thông điệp của bạn:
error.bad.input=<li>Bad input: '{0}' is invalid.</li>
Bây giờ khi thẻ <html:errors/>
được xử lý , nó sẽ chuyển thành:
<h3><font color="red">Errors:</font></h3><ul>
<li>Bad input: 'xxyyzzz' is invalid.<li>
</ul>
Nguồn
2009-06-02 03:22:27
Cảm ơn bạn! Sau nhiều giờ làm việc, tôi cuối cùng cũng có thể xác nhận mẫu của tôi. Cuối cùng, tôi thích xác thực trong bean thay vì trong action và sử dụng validation.xml (cho minlenght, required, etc) và xác nhận cơ sở dữ liệu (người dùng tồn tại, mật khẩu chính xác ...). Điều duy nhất tôi phải thay đổi là sử dụng ".add (String, ActionError)" của ActionErrors vì không được chấp nhận (Struts 1.2.x) và được sử dụng ".add (String, ActionMessage)" vốn giống nhau. Một lần nữa, cảm ơn bạn rất nhiều vì câu trả lời của bạn! – Tere
@Mark Lutton: nếu biểu mẫu được tạo bắt đầu từ một Hành động khác (ví dụ: nhãn/giá trị cho một số nút radio được truy xuất từ DB và đưa vào yêu cầu), làm thế nào các nút radio được hiển thị lại cùng với lỗi (trong trường hợp cần chọn một nút radio)? Tôi không thành công trong việc hiển thị chúng, khi tôi gửi biểu mẫu (chỉ có lỗi được in). – Sefran2