2012-01-29 13 views
7

इस कोड के माध्यम से एक से अधिक पैरामीटर पासिंग struts कार्रवाई करने के लिए दो पैरामीटर भेजना चाहिए:एक <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> 

समस्या केवल पहली पैरामीटर का मान struts कार्रवाई के लिए भेजा जाता है और दूसरा एक अशक्त है! मैंने दो पैरामीटर की जगह बदल दी और फिर केवल पहला ही ठीक था।

क्या एस: यूआरएल टैग के माध्यम से एक से अधिक पैरामीटर पास करना संभव है?

अद्यतन

यह कैसे यूआरएल टैग प्रदान की गई है है:

<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

यूआरएल कैसे प्रस्तुत करता है? यह भी ध्यान रखें कि url var के लिए "id" का उपयोग करके बहिष्कृत किया गया है। –

+0

@ डेव न्यूटन: मैंने वहां रेंडर परिणाम जोड़ा, क्या पहले पैरामीटर के अंत में समस्या "एंड amp" के साथ कुछ भी करने के लिए है? –

+1

आप वास्तव में गलत प्रश्न पूछ रहे हैं - हाँ, आप ' 'टैग के माध्यम से एक से अधिक पैरामीटर पास कर सकते हैं, लेकिन वास्तविक प्रश्न' 'टैग और पैरामीटर को कैसे प्रबंधित करता है - ऐसा लगता है कि यह इससे बच रहा है । मुझे लगता है कि आप सही हैं कि यह मुद्दा है। –

उत्तर

16

आप escapeAmp="false" विशेषता का उपयोग यूआरएल भागने व्यवहार को निष्क्रिय कर सकता। डिफ़ॉल्ट रूप से, यह सक्षम है, इसलिए यूआरएल पैरामीटर &&amp; प्रस्तुत करेगा। इससे पैरामीटर नाम के साथ पैरामीटर मान पढ़ने पर समस्या होगी।

  1. आप पैरामीटर को पढ़ने के लिए आवश्यकता हो सकती है, request.getParameter("amp;pageNumber_hidden")
  2. (अनुशंसित) आप विशेषता escapeAmp जोड़कर संस्थाओं से बचने के बंद करो और <s:url> टैग के भाग के रूप में मूल्य झूठी निर्धारित किया है

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

यह है! धन्यवाद –