我的代码如下:
<script type="text/javascript">
window.onload = function() {
     var rc = new html5jp.graph.radar("sample");
document.write("哈喽" + "<br />")
if( ! rc ) { return; }
var items=new  Array();
document.write("哈喽" + "<br />") 
<s:iterator value="al">
         items.push(<s:property/>);                                   
         </s:iterator> 
         document.write("哈喽" + "<br />")
var params = {
aCap: ["1", "2", "3", "4", "5", "6", "7", "8"] }
 

rc.draw(items, params);
};
</script>struts标签里面的东西都没执行啊

解决方案 »

  1.   

    这么做太复杂了,最简单的方法是:action中直接生成JSON串,然后直接:
    var json = ${name}; // 分号别漏了最后在浏览器上检查下所生成HTML是不是类似于:
    var json = { aCap: ["1", "2", "3", "4", "5", "6", "7", "8"] };就行了。
      

  2.   

    var json = ${name};  这句没执行过去是怎么回事
      

  3.   

    <script type="text/javascript">
      window.onload = function() {
      alert("aa");
    var rc = new html5jp.graph.radar("sample");
        var arrlist = $(json);
      alert("bb");
    if( ! rc ) { return; }  
       alert(arrlist);
       
    var params = {
    aCap: ["1", "2", "3", "4", "5", "6", "7", "8"]
    }
    rc.draw(arrlist, params);
       }
      </script>  </head>
      
      <body> 
      
      
       
       ${json}
       <div><canvas width="400" height="300" id="sample"></canvas></div>
       <s:debug></s:debug>
        </body>
    都没执行到:
    var arrlist = $(json);
      alert("bb");
    这是怎么回事
      

  4.   


    启用了EL表达式么?Action中把JSON-String设置到request的name里面去了么?
      

  5.   

    package cn.itcast.action;import java.util.ArrayList;
    import java.util.List;import com.opensymphony.xwork2.ActionSupport;
    import com.sun.mail.imap.Rights.Right;public class GogoAction extends ActionSupport {
    private List<Role> al=new ArrayList<Role>();
    StringBuffer json; public StringBuffer getJson() {
    return json;
    } public void setJson(StringBuffer json) {
    this.json = json;
    } public List<Role> getAl() {
    return al;
    } public void setAl(List<Role> al) {
    this.al = al;
    } public String execute(){
     
       Role r1 = new Role();
       r1.setA("ʯͷ");
       r1.setB(2);
       r1.setC(3);
       r1.setD(2);
       r1.setE(2);
                       r1.setF(1);
                       r1.setG(2);
                       r1.setH(1);
                       r1.setI(4);
                       al.add(r1);
               json = new StringBuffer("[");
               if (al.size() > 0 && al != null) {
               for (int i = 0; i < al.size(); i++) {
               Role role = al.get(i);
               json.append(role.getA()+','+role.getB()+','+role.getC()+','+role.getD()+','+role.getE()+','+role.getF()+','+role.getG()+','+role.getH()+','+role.getI());
                 if (i != al.size() - 1) {              json.append(",");             }            }           }           json.append("]");
             System.out.print(json);   
       return "message";
    }}
    这是我的action类
      

  6.   

    <script type="text/javascript">
       window.onload = function() {
       alert("aa");
     var rc = new html5jp.graph.radar("sample");
       var arrlist = $(json);
       alert("bb");
     if( ! rc ) { return; } 
      alert(arrlist);     
    var params = {
     aCap: ["1", "2", "3", "4", "5", "6", "7", "8"]
     }
     rc.draw(arrlist, params);
       }
       </script>   </head>
        
      <body>     
        
      ${json}
       <div><canvas width="400" height="300" id="sample"></canvas></div>
       <s:debug></s:debug>     </body>
    这是jsp页面:我发现它都没运行到 var arrlist = $(json);
       alert("bb");