jstl学习-变量的取值范围和编译后的代码


主要测试问题:
1、隐式EL变量
   pageScope:所有页面作用域变量的集合(java.util.Map)
   requestScope:所有请求作用域变量的集合(java.util.Map)
   sessionScope:
   applicationScope:
   param:所有请求参数值的集合(java.util.Map),每个参数对应为一个String值。
   paramValues:所有请求参数值的集合(java.util.Map),每个参数对应为一个String值。
   等
答:
1、el无法直接访问jsp中<%String p = xxxx;%>定义的变量
必须先将p加入到pageContext\request\session\application的属性中,然后才能使用el访问
2、${param},param的默认查找顺序为:pageContex\request\session\application
3、如要明确访问某范围中的对象,要加隐式EL变量做限制,如:${sessionScope.param}
4、el的scope作用范围和对象之间的对应关系为:
page-pageContext;request-request;session-session;application-application

2、el表达式的执行时机(时刻)
和jsp动作标签的区别?
如:
<jsp:useBean id="userinfo" class="">
        <jsp:setProperty name="userinfo" property="*" />
</jsp:useBean>

相同点:
   1、都有变量范围的概念:page、request、session等
   2、这些标记都会被转换为java带代码,在运行时才能获得值
  
没有什么太大的区别



参考文章:
http://www.blogjava.net/liuwentao253/archive/2007/10/05/150558.html


附件中为我写的一个测试的例子:

你可能感兴趣的:(java,html,jsp,.net)