2010-11-09 32 views
5

Trong struts2, tôi đã tận dụng OGNL tích hợp trong struts2, đặt tên cho các đầu vào của tôi như <input name='bag["item"].property'> Được gửi đến getters/setters Tôi đã nâng cấp lên thanh công cụ 2.2.1, và suddently những người không còn làm việc: getter không bao giờ được gọi.struts2 không còn chấp nhận tham số bản đồ http?

Internet hoàn toàn im lặng khi sử dụng OGNL trong thông số, như thể không ai từng tạo biểu mẫu phức tạp.

Làm cách nào để lấy lại tham số bản đồ?

Trả lời

3

Nó chỉ ra rằng họ đã khắc phục các hạn chế về tên thông số để tăng cường bảo mật.

Vì vậy, tôi đã phải thêm vào struts.xml của tôi:

 <interceptor-stack name="defaultStack"> 
      <interceptor-ref name="params"> 
      <!-- For maps to work --> 
      <param name="acceptParamNames"> 
       [a-zA-Z0-9\.\]\[\(\)_'\s"/]+ 
      </param> 
      </interceptor-ref> 
     </interceptor-stack> 

(Tôi đã "s s và/trong tên tham số của tôi) file upload ngừng làm việc sau đó (ngăn xếp đánh chặn là điên rồ), do đó tôi phải thêm nó explicity hoặc

cập nhật:.. Những ngày này tôi đề nghị sử dụng JSON để vượt qua các cấu trúc phức tạp thay vì hình thức OGNL giàu Tất nhiên bạn sẽ cần một số JS

+0

trong trường hợp bạn đã tìm thấy thông tin này bạn.? hoàn toàn chính xác rằng "internet" hoàn toàn là sil tham gia vào các chủ đề như vậy. Bên cạnh đó, "thông số" là một chủ đề quá rộng để tìm kết quả tìm kiếm chính xác. – Beez

+0

@Beez trong nguồn Struts. – alamar

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