黑马程序员技术交流社区

标题: jsp [打印本页]

作者: 净火红白    时间: 2018-9-16 23:00
标题: jsp
本帖最后由 净火红白 于 2018-9-16 23:02 编辑

jsp简介
jsp原理(看源码)
jsp三大指令page

<%@page language=”java” info=”xxx”…%>**

<error-page>有两种使用方式:<error-code><location>子元素;<exception-type><location>子元素;其中<error-code>是指定响应码;<location>指定转发的页面;<exception-type>是指定抛出的异常类型。
<error-page>    <error-code>404</error-code>    <location>/error/errorPage.jsp</location> </error-page>      <error-page> <exception-type>java.lang.RuntimeException</exception-type>        <location>/index.jsp</location>      </error-page>include –> 静态包含taglib –> 导入标签库九大内置对象
JSP动作标签

动作标签是由tomcat(服务器)来解释执行!而html标签由浏览器来执行!

<jsp:include page="/b.jsp">    <jsp:param value="zhangSan" name="username"/> </jsp:include>
[color=rgba(0, 0, 0, 0.75)]在b.jsp中可以使用request.getParameter(“username”)来获取参数值。javaBean

JavaBean主要是用来通过反射操作的类!
因为需要通过Class的newInstance()方法来创建类的实例,所以要求类必须提供public的无参构造器

内省
Map<String,String> map = new HashMap<String,String>();map.put("username", "admin");map.put("password", "admin123");

User user = new User();
BeanUtils.populate(user, map);

要求:map的key名称必须与User类的属性名称相同。不要无法赋值!

JSP中与JavaBean相关的标签<jsp:useBean id="user1" class="cn.domain.User" />

查看page域中是否存在user1这个域属性,如果存在,那么直接获取。
如果不存在,那么创建之!
等同与:
User user1 = pageContext.getAttribute(“user1”);
if(user1 == null) {
user1 = new User();//创建user1对象
pageContext.setAttribute(“user1”, user1);//保存到page域
}

<jsp:setProperty property="username" name="user1" value="admin"/>**<jsp:getProperty>**

获取属性值

<jsp:getProperty property="username" name="user1"/>

输出user1这个javaBean的username属性值

等同与
User user1 = (User)pageContext.getAttribute(“user1”);
out.print(user1.getUsername());






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2