2012-12-13 38 views

Trả lời

34
<global-forwards> 

Cân nhắc bạn xác nhận mật khẩu tên người dùng cho các url khác nhau như update.do, insert.do delete.do vv Nếu đó là một người dùng hợp lệ bạn cần phải tiến hành các neccesary action.if không mong muốn được đăng nhập page.See ánh xạ dưới đây

<action-mappings>   
    <action path="/insert" type="controller.Insert"> 
     <forward name="success" path="/insert.jsp"/> 
     <forward name="failure" path="/login.jsp"/> 
    </action>  
    <action path="/update" type="controller.Update"> 
     <forward name="success" path="/update.jsp"/> 
     <forward name="failure" path="/login.jsp"/> 
    </action> 
    <action path="/delete" type="controller.Delete"> 
     <forward name="success" path="/delete.jsp"/> 
     <forward name="failure" path="/login.jsp"/> 
    </action>   
</action-mappings> 

Thay vì lặp lại những <forward name="failure" path="/login.jsp"/> bạn có thể tuyên bố này trong <global-forwards> như dưới đây

<global-forwards> 
    <forward name="failure" path="/login.jsp"/> 
</global-forwards> 

Bây giờ bạn có thể Remo đã đặt <forward name="failure" path="/login.jsp"/> trong ánh xạ hành động.


<global-exceptions> 

Nếu bạn nhận được java.Io ngoại lệ thay vì xử lý thủ công cho mỗi bạn có thể khai báo trên toàn cầu như dưới đây.

<global-exceptions> 
    <exception type="java.io.IOException" path="/pages/error.jsp"/> 
</global-exceptions> 

Tôi hy vọng điều này sẽ làm rõ vấn đề của bạn.

+0

Cảm ơn lời giải thích của người đàn ông rất tốt nhưng thấy nó rất dài. – user1900662

+0

cảm ơn lời giải thích, – Apache

+0

cảm ơn vì đã giải thích, giả sử nếu có trang lỗi HTTP 500 và cần chuyển tiếp lại trang đăng nhập, , làm thế nào điều này có thể được thực hiện, nhờ – Apache

3

Nếu bạn đang nói về Struts 1, global-exceptionsExceptionHandlers giao dịch với một số Exception cho tất cả các hành động, vì vậy bạn không phải khai báo mỗi hành động và tránh trùng lặp.

Global-forwards có cùng ý tưởng. Nếu bạn có tiền đạo với cùng một đường dẫn trong các hành động khác nhau, bạn có thể tránh trùng lặp bằng cách tuyên bố chỉ một global-forward và tất cả các hành động có thể sử dụng nó. Với global-forwards, bạn cũng có thể tránh các URL được mã hóa cứng trong jsps của mình, ví dụ: bạn có thể khai báo toàn cục về phía trước như <forward name="loginLink" path="/login" /> và sau đó trong jsp <html:link forward="loginLink">Login</html:link>.

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