2012-01-29 23 views
7

Mã này nên gửi hai thông số để hành động thanh chống:Đi qua nhiều tham số qua thẻ <s:url/> struts2

<s:url id="loadReportsForAPageInitial" value="/loadReportsForAPage.action" > 
    <s:param name="reportsCount_hidden" value="3"></s:param> 
    <s:param name="pageNumber_hidden" value="1"></s:param> 
</s:url> 
<sj:div href="%{loadReportsForAPageInitial}"> 
</sj:div> 

vấn đề được chỉ có giá trị tham số đầu tiên được gửi đến hành động thanh chống và điều thứ hai là null! Tôi đã thay đổi vị trí của hai tham số và một lần nữa chỉ có một tham số đầu tiên là tốt.

Có thể chuyển nhiều thông số qua thẻ s: url không?

CẬP NHẬT

đây là cách tag url được hiển thị:

<script type='text/javascript'> 
jQuery(document).ready(function() { 
    var options_div_1179027906 = {}; 
    options_div_1179027906.jqueryaction = "container"; 
    options_div_1179027906.id = "div_1179027906"; 
    options_div_1179027906.href = "/FAP/loadReportsForAPage.action"; 
    options_div_1179027906.hrefparameter = "reportsCount_hidden=3&amp;pageNumber_hidden=1"; 
    jQuery.struts2_jquery.bind(jQuery('#div_1179027906'),options_div_1179027906); 

}); 
+1

Làm cách nào để kết xuất url? Cũng lưu ý rằng việc sử dụng "id" cho url var sẽ không được chấp nhận. –

+0

@DaveNewton: Tôi đã thêm kết quả hiển thị lên đó, sự cố có liên quan đến "& amp" ở cuối tham số đầu tiên không? –

+1

Bạn đang thực sự đặt câu hỏi sai - có, bạn có thể chuyển nhiều tham số qua thẻ '', nhưng câu hỏi thực sự liên quan đến thẻ '' và cách nó xử lý các tham số - có vẻ như nó đang thoát nó . Tôi nghĩ rằng bạn chính xác rằng đây là vấn đề. –

Trả lời

16

Bạn có thể vô hiệu hóa các hành vi URL thoát bằng escapeAmp="false" thuộc tính. Theo mặc định, điều này được bật, do đó, thông số URL & sẽ hiển thị &amp;. Điều này sẽ gây ra một vấn đề khi đọc giá trị tham số với tên tham số.

  1. Bạn có thể cần phải đọc các thông số, request.getParameter("amp;pageNumber_hidden")
  2. Bạn đã dừng thoát các đối tượng bằng cách thêm thuộc tính escapeAmp và thiết lập giá trị sai như là một phần của thẻ <s:url> (Recommended)

<s:url id="loadReportsForAPageInitial" 
     value="/loadReportsForAPage.action" 
     escapeAmp="false"> 
+1

đó là nó! cảm ơn –

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