使用ajax.updater的modelandview var参数

时间:2011-04-20 23:06:55

标签: javascript jstl modelandview

在页面JSP中,由JSTL获取“$ {model}

中的var ModelAndView

在这个页面中,我使用JAVASCRIPT用ajax.updater更新DIV,代码在这里:


document.getElementById("idFa").value=image.title;
var frm2="${model}";
var dataString = 'mail=acevallo@hotmail.com&idFar=' + image.title + "&frm2=${model.farmers}";
new Ajax.Updater( "pcBody_content2", "tabProductsFruitC2.jsp", { method: "get",parameters:dataString,evalScripts: true });

我的问题是,当我用新页面tabProductsFruitC2.jsp更新DIV时。在这个新页面中,我没有var $ {model},所以我通过参数send var。

发送

我用var frm2尝试了它,但它将我的var转换为字符串而我不能使用我的modelandview var。我如何通过参数发送我的模型var $ {model}。

谢谢,伙计们

1 个答案:

答案 0 :(得分:1)

最后我找到了解决这个问题的方法....

我使用JSTL到JavaScript中,在一个数组中获取数据并使用jquery的LOAD通过参数发送,所以:

enter code here
function productsLoad(image){
    var contactTypesList = new Array();
    var tmpArray = new Array();
    var newOption,newOption2;
    var i=1;
    <c:forEach items="${model.farmers2}"  var="contactType">                    
      newOption = '${contactType.farmerId}';
      contactTypesList.push(newOption); 

      if ((newOption==image.title)&&(i==1)){
        <c:forEach  items="${contactType.products}" var="prd">
            newOption2 = '${prd.key}';
            tmpArray.push(newOption2);                                      
        </c:forEach>        
        i=i+1;
      } 
    </c:forEach>

    var dataString = 1;    
    $j("#pcBody_content2").load("jsp2/tabProductsFruitC2.jsp",{ 'choices[]': tmpArray } );
  }

</script>