params Interceptor, là viết tắt của Parameters Intercepto, được sử dụng để thiết lập tất cả các tham số trên ValueStack. Theo mặc định, nó được tìm thấy trong Stack mặc định. Vì thế bạn không cần xác định nó một cách tường minh.
Nó lấy tất cả các tham số bằng việc gọi phương thức getParameters() của ActionContext và thiết lập nó trên valuestack bởi gọi phương thức setValue() của ValueStack.
1. Ordered: Là true theo mặc định, nhưng có thể được sử dụng để top/down hành vi thuộc tính.
2. paramNameMaxLength: xác định độ dài tối đa cho tham số. Độ dài mặc định là 100 ký tự. Độ dài của tham số mà lớn hơn 100 sẽ bị bỏ qua.
3. excludeParams: xác định các tên tham số mà không được phép. Bạn có thể xác định nhiều tên ở đây bởi phân biệt chúng bằng dấu phảy.
4. acceptParamNames: xác định các tên tham số được chấp nhận.
Dưới đây là ví dụ đơn giản về params Interceptor:
<action name="login" class="com.hoclaptrinh.Login">
<interceptor-ref name="params"/>
<result name="success">login-success.jsp</result>
</action>
Ghi chú: Nếu bạn xác định tường minh bất kỳ Interceptor nào, thì Interceptor mặc định sẽ là không có sẵn cho lớp action.
params Interceptor được tìm thấy trong default stack. Bạn không cần xác định chúng. Dưới đây là code cho default Interceptor:
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="profiling"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
Unpublished comment
Viết câu trả lời