<!%code%>不如用声明比较好

解决方案 »

  1.   

    这个原因应该是String是值参数而非指针引用吧?这样的方法只是相当于你把这两个String的值传进去进行了一些操作。外面targetValue,score变量所指向的内存那块的值根本没就变化,如果你想实现你现在这样的功能建议你返回一个VECTOR里面放上要返回的值。或者你也可以把targetValue,score封装成一个类然后传进去,传类进去就会是指针引用,在方法里面修改类的值,外面的变量也会变化的。因为指针引用的本质就是传进来的只是一个引用,他们同外面的变量指向同一块内存区。内外修改都是对同一内存做操作。附带说一句:指针引用这个提法估计不是很正确,呵呵。只是说那么个意思。还有JSP里面太多JAVA代码了哦:)
      

  2.   


    <%!
    String replaceTypes(int i){
    if(i==0)
    {return "早餐";}
    else if(i==1)
    {return "中餐";}
    else {return "晚餐";}
    }
    %>
      

  3.   

    你把你的方法写成带返回值的
    多个属性可以用Hashmap返回
    <%=targetValue%>  <<----这里是null
    <%=score%> <<-----这里也是null
    这两个值从HashMap里面取就不会是null了。
      

  4.   

    我试过写一个类做为参数传是可以的。谢谢大家,可是JAVA里的String不也是一个类类型么,targetValue和score也应该是类实例了,我传这两东东应该是按引用传吧?
    另外我也注意到如果在jsp里要声明函数得用<%!,那<%!的定义是什么?是专用来声明函数用的么?