我也注意到了.比如说:
html:link  page="<%=i%> ...就是一例!当然,这是因为struts  的taglib是个独立的开发成果!它对其标签的解释只能限定在 html:text  ... 这些标签的属性,再加点别的就不认识了(当做字符串处理)
<%=%>这样的标签是jsp的标准,怎么说呢,在struts之前就有的.也许,struts 开发组织 在1.2版本中能够 欠入<%%> 这样的标签!拭目以待吧! (:

解决方案 »

  1.   

    唉,免费的东西就是不行,既然<%=%>标签在struts之前就有了,那在struts开发的时候就应该考虑这个问题,
      

  2.   

    看了struts的source,终于知道是怎么回事了,严格说来就是他们的bug
      

  3.   

    我也发现了,所以有时候就不是完全用struts的taglib
      

  4.   

    这好像不能算是bug吧,只能说是struts的局限
      

  5.   

    struts的标签本身也是经过编译后转换成html代码的,从这一点上来讲,它跟JSP是一样。但是它的编译要优先于JSP。这不能算是它的局限,更不能算是它的bug。考虑一下它们编译的顺序,做一下处理就可以了。
      

  6.   

    从业务流的考虑一说,jsp的编译应该优先于struts标签的编译,因为通常一些计算,负值什么的都是在jsp里面进行,如果先对struts编译肯定会造成一些业务无法实现,所以个人认为还是应该算是bug
      

  7.   

    这根本就不是struts的bug
    出现这个问题我认为是web server对taglib的解析问题我们写了自己的taglib后
    当定义tld文件
    <attribute>
    <name>ondblclick</name>
    <required>false</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    当 rtexprvalue>true</rtexprvalue>指定为true时,jsp解释器就该在运行期解释
    ondblclick=""中的值,然而
    我使用tomcat4.1...时
    1、ondblclick="<%=var%>",是可以的,说明该标签有效.
    2、ondblclick="描述<%=var%>"
    ,就会把<%=var%>当作一个字符串,对应jsp源码为_jspx_th_page_title_0.setTitle("描述<%=var%>");
    3、ondblclick="<%=var%>描述" ,编译就不会通过了。所以说这是web server的问题!不是struts的问题!!另:什么叫免费的就不行!!想想到底是谁不行!!
      

  8.   

    同意楼上的看法!
    我用tomcat时,jsp内的java脚本比taglib先运行,当 rtexprvalue>true</rtexprvalue>指定为true时,jsp解释器就该在运行期解释。所以我的写的很多页面,taglib的参数可以动态的,甚至可以时很复杂的表达式。我试过weblogic,的确有点问题,要先<% String variable=request.getParameter("variable")%>,然后再<taglib attribute="<%=variable%>" />可以取得到标签参数。而如果<taglib attribute="<%=request.getParameter("variable")%>" />就不行。
    tomcat完全没有这种问题
      

  9.   

    同意楼上!!我想现在的sevlet/jsp服务其中,解析最好的(不是效率)应该是就是tomcat4
    因为tomcat4是sun为了让自己的servlet2.3有可以运行的环境,和jatarka把tomcat重新设计合作开发的!!,我想如果tomcat解析有问题.其它server也难以避免。
    正如你上面所提到的,开发中还是可以绕过这个问题的!