我想在<script></script>里使用struts标签,但好像不行,有什么方法可以让它在<script></script>里使用struts标签,如:
<script type="text/javascript">
d = new dTree('d');
<logic:iterate id="b" name="bl" scope="request" type="test.bean.Hibernate.Menu">
<%=BBSCSUtil.getMenuHtmlDown(b.getLevel(),b.getMenuName())%>
</logic:iterate>
document.write(d);
</script>
现在这样子总是说标签不能使用,请指教.

解决方案 »

  1.   

    好像是不行吗,为何不使用jstl呢,不是更方便?
      

  2.   

    照理说是不会有问题的。这一段
    <logic:iterate id="b" name="bl" scope="request" type="test.bean.Hibernate.Menu">
    <%=BBSCSUtil.getMenuHtmlDown(b.getLevel(),b.getMenuName())%>
    </logic:iterate>
    迭代打印出来后,很明显不符合javascript语法。 检查一下吧
      

  3.   

    樓主不要爲了形式而形式
    老實的outprint
    這個dtree樹我做過,輸出節點内容還是比較容易出錯的。
      

  4.   

    <logic:iterate id="b" name="bl" scope="request" type="test.bean.Hibernate.Menu">
    <%=BBSCSUtil.getMenuHtmlDown(b.getLevel(),b.getMenuName())%>
    </logic:iterate>
    这两种东西不能混用,看看书吧
      

  5.   

    <script type="text/javascript"> 
      var city= new Array();
      var onecount=0;
       <logic:iterate id="elemants" indexId="ii" name="allCityCollection">
        city[<bean:write name="ii"/>]=new Array("<bean:write name='elemants' property='cityName'/>","<bean:write name='elemants' property='cityCode'/>");
      </logic:iterate>
     onecount=<bean:write name="ii"/>;
    ......
    我这段代码能够正确运行,java代码和struts标签是完全可以和js代码混合使用的。
    你的程序错误,很可能是由于数据的格式或者js语法错,我曾经犯过的一个错误就是
    每条数据的后面有一个空格字符,以至于js树显示不出来,运行页面通过浏览器的查看源代码
    ,看看到底输出的是什么?
      

  6.   

    var temp4 = "";
    <logic:iterate id="iterator" name="selectTypeListForm" property="formList">
    temp1+='<bean:write name="iterator" property="categoryId"/>';
    temp1+=',';
    temp2+= '<bean:write name="iterator" property="categoryName"/>';
    temp2+=',';
    temp3+= '<bean:write name="iterator" property="categoryDesc"/>';
    temp3+=',';
    temp4+= '<bean:write name="iterator" property="parentCategoryId"/>';
    temp4+=',';
    </logic:iterate>
    这样可以的啊,以前写的