<%%>标签的使用范围是什么?
<%String id=1%>这个变量是局部变量,例如在一个<html:select></html:select>范围内使用。
<%!String id=1%>这个是个全局变量,好像是这样,记不清了,有没有规定必须在哪里定义?

解决方案 »

  1.   

    <%!String id=1%> 就是一个声明,其中的对象可以在其所在的页面的其他脚本元素中使用;好像没规定必须在那里吧!
      

  2.   

    啥玩意嘛,<% String id="1";%>,在定义该变量之后的内容都可以用
      

  3.   

    4楼是错的。我说的jsp都是struts标签
      

  4.   

    我是这个意思。
    在java类中,全局变量和局部变量都有位置吧,那在jsp也会有吧?
      

  5.   

    <%%>只是表明其中的是Java内容罢了
    声明的变量在该页面此句后的部分可以使用
    建议看一下JSP编译后的Java文件
      

  6.   

    在work文件夹下有对应的java源文件看看,对比一下就知道
      

  7.   

    <logic:equal value="1" name="MediaBean" property="type">
    <% String userAuth1 = (String)session.getAttribute("userAuth");
     if(userAuth1.contains("0303")){%><%} %>
    </logic:equal>
    <logic:equal value="2" name="MediaBean" property="type">
    <% String userAuth2 = (String)session.getAttribute("userAuth");
     if(userAuth2.contains("0703")){%><%} %>&nbsp;
    </logic:equal>
    我是上面的意思,userAuth2 就不能用userAuth1 ,得重新定义一个变量。并不是上面几楼说的“声明的变量在该页面此句后的部分都可以使用 ”
      

  8.   


    楼主把这一句定义在最前面不就得了,4楼说的也是这个意思
    <% String userAuth1 = (String)session.getAttribute("userAuth"); %>
    <logic:equal value="1" name="MediaBean" property="type"> 
    <%if(userAuth.contains("0303")){%> <%} %> 
    </logic:equal> 
    <logic:equal value="2" name="MediaBean" property="type"> 
    <%if(userAuth.contains("0703")){%> <%} %>&nbsp; 
    </logic:equal>