在javascript中加入下面的代码
<logic:iterate id="lanmu" name="lanmus">
d.add('<bean:write name="lanmu.id"/>','<bean:write name="lanmu.name"/>','<bean:write name="lanmu.parmentid"/>');
</logic:iterate>

解决方案 »

  1.   

    这样不行呀?d.add()是JS的方法。在这怎么能引用呢?
      

  2.   

    最外面套一个 <script> 就行了<script>
    <logic:iterate id="lanmu" name="lanmus">
        d.add('<bean:write name="lanmu.id"/>','<bean:write name="lanmu.name"/>','<bean:write name="lanmu.parmentid"/>');
    </logic:iterate>
    </script>
      

  3.   

    楼主,上面程序可以吗?
    dangerous!!
      

  4.   

    保证上面的代码可以运行,做了一个测试
    一个是 JSP 代码,一个是IE中看到的 HTML 代码<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
    <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html lang="true">
    <head>
    <html:base /> <title>index.jsp</title> <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    </head><body>
    <%
    List lanmus = new ArrayList();
    lanmus.add("111");
    lanmus.add("222");
    lanmus.add("333");

    pageContext.setAttribute("lanmus",lanmus);
    %>
    <script type="text/javascript">
    <logic:iterate id="lanmu" name="lanmus">
    alert("<bean:write name="lanmu"/>");
    </logic:iterate>
    </script>
    </body>
    </html:html>
    而生成的HTML代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html lang="zh-CN">
    <head>
    <base href="http://localhost:8080/aop2/index.jsp"> <title>index.jsp</title> <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    </head><body>
    <script type="text/javascript">

    alert("111");

    alert("222");

    alert("333");

    </script>
    </body>
    </html>
      

  5.   

    应该是jsp中套js的代码,比如
    <%
    out.println("d.add(0,-1,'系统管理后台');");
    for(int i=0;i<list.size();i++){
        Menu menu = (Menu)list.get(i);
        String temp = "d.add("+menu.getId()+","+menu.getPid()+",'"+menu.getMenuName().trim()+"','"+menu.getMenuUrl().trim()+"','"+menu.getMenuInfo().trim()+"','main');";
    }
    %>
      

  6.   

    差点就错了,上面的代码应该是:
    <bean:write name="lanmu" property="id"/>我居然用 lanmu.id ,汗