jsp笔记

  1. 如果一个对象要作为bean,根据bean法则,只能调用bean的一个无参的公共构造函数。bean法则。p352

  2. 为了完全摆脱脚本,bean的性质类型必须是string类型或者基本类型。

  3. bean性质的第一个字母一定不要大写。

  4. 下面是在利用jsp:setProperty标准动作时,type类型和class类型不一致时的servlet类源文件。在调用.get**()方法时,需要用到红色字体的强制类型转换。

    servlet.Person person = null;
      person = (servlet.Person) _jspx_page_context.getAttribute("person", javax.servlet.jsp.PageContext.PAGE_SCOPE);
      if (person == null){
        person = new servlet.Empolyee();
        _jspx_page_context.setAttribute("person", person, javax.servlet.jsp.PageContext.PAGE_SCOPE);
        out.write("\r\n");
        out.write("    \t");
        org.apache.jasper.runtime.JspRuntimeLibrary.introspect(_jspx_page_context.findAttribute("person"), request);
        out.write("\r\n");
        out.write("    ");
      }
      out.write("\r\n");
      out.write("    name:");
      out.write(org.apache.jasper.runtime.JspRuntimeLibrary.toString((((servlet.Empolyee)_jspx_page_context.findAttribute("person")).getName())));
      out.write("\r\n");
      out.write("    ID:");
      out.write(org.apache.jasper.runtime.JspRuntimeLibrary.toString((((servlet.Empolyee)_jspx_page_context.findAttribute("person")).getEmpID())));
      out.write("\r\n");

  5. 利用jsp标准动作不能访问属性的嵌套性质,也就是性质的性质。这个时候EL就派上用场了。p367

  6. EL隐式对象出了pageContext是jsp隐式对象的引用外,其他都是属性的映射集合(Map)。P388

  7. 属性名是一个String,只要是字符串就行,不必遵循Java命名规范。

  8. 点号操作符的左边只能是Map或者是bean,用于获取性质和映射值,不能用于获取属性,也就是说点号左边是一个jsp隐式对象的引用。[]号的左边则出了这两个之外,还可以是List或者数组。

  9. jsp四个作用域中有性质,也有属性,在EL中对于属性的访问                   不能通过点号,因为点号是用来访问性质的,只能通过EL的属性集合隐式对象来访问这些作用域中的属性。p389

  10. EL函数的tld文件中的函数签名里的参数类型如果不是基本类型的话,一定要指定完全限定类名,比如:

    <function-signature>

      int rollDice(java.util.Map)

    </function-sifnature>

+

iuy

  11. 

 

posted @ 2017-02-15 14:48  不吃陈皮  阅读(153)  评论(0编辑  收藏  举报