轻量级JavaEE企业应用实战(四)
2015-12-15 17:18
369 查看
JSP的7个动作指令
jsp:forward:执行页面转向,将请求的处理转发到下一个页面jsp:param:用于传递参数,必须与其他支持参数的标签一起使用
jsp:include:动态引入一个JSP页面
jsp:plugin:用于下载JavaBean或Applet到客户端执行
jsp:useBean:创建一个JavaBean实例
jsp:setProperty:设置JavaBean实例的属性值
jsp:getProperty:输出JavaBean实例的属性值
forward指令
注:forward指令执行时,用户请求的地址没有发生改变,但页面内容却完全变为forward目标页内容,同时客户端的请求参数不会丢失include指令
动态和静态指令的区别:1.静态导入是将被导入的页面的代码完全融入,成一个整体的Servlet;动态则是在Servlet中使用include方法来导入页面的内容
2.讲台导入时被导入页面的编译指令会其作用,而动态导入时被导入页面的编译指令失去作用,只是插入被导入页面的body内容
3.动态包含还可以增加额外的参数
<jsp:include page="forward-result.jsp"> <jsp:param name="age" value="32" /> </jsp:include>
forward和include比较:forward拿目标页面代替原有页面,include拿目标页面插入原有页面
useBean、setProperty、getProperty指令
useBean指令用于在JSP页面初始化一个Java实例;setProperty指令用于为JavaBean设置属性值
getProperty指令用于输出JavaBean属性值
<jsp:useBean id="p1" class="lee.Person" scope="request" /> //id属性是JavaBean实例名,class是实现类,scope属性指定JavaBean的作用范围
//page:该JavaBean实例仅在该页面有效
//request:该JavaBean本次请求有效
//session:该JavaBean本次回话有效
//application:该JavaBean应用期间有效,从上到下变大 <jsp:setproperty name="p1" property="name" value="wa" /> //name属性是JavaBean的实例名,property属性确定需要输出的属性名 <jsp:setProperty name="p1" property="age" value="25" /> <jsp:getProperty name="p1" property="name" /> <jsp:getProperty name="p1" property="age" />
JSP九大内置对象
application:javax.servlet.ServletContext实例,代表JSP所属的WEB应用本身,可以用于JSP页面或在Servlet之间的信息交换
常用方法:getAttribute、setAttribute、getInitParameter
config:
javax.servlet.servletConfig实例,该实例代表该JSP的配置信息。实际上,JSP页面无需配置,所以更多在Servlet上有效
常用方法:getInitParameter、getInitParameternames
exception:
java.lang.Throwable实例,代表其他页面中的异常和错误。只有当页面是错误处理页面,即编译指令page的isErrorPage属性为true时,才可使用
常用方法:getMessage、printStackTrace
out:
javax.servlet.jsp.JspWriter实例,代表JSP页面的输出流,用于输出内容,形成HTML页面
page:
代表页面本身,没有太大用处。也就是Servlet中的this,其类型就是生成Servlet类,能用page就可以用this
pageContext:
javax.servlet.PageCOntext实例,代表该JSP页面上下文,使用该对象可以访问页面中的共享数据。
常用方法:getServletContext、getServletConfig
request:
javax.servlet.http.HttpServletRequest实例,该对像封装了一次请求,客户端的请求参数都在该对象中,获取客户端请求参数必须使用该参数
常用方法:getParameter、getParameterValues、setAttribute、getAttribute、setCharacterEncoding
response:
javax.servlet.http.HttpServletResponse实例,代表服务器对客户端的相应,通常很少使用该对象直接响应,而是使用out对象,除非需要生成非字符响应
常用方法:getOutputStream、sendRedirect
session:
javax.servlet.http.HttpSession实例,代表一次会话。当客户端浏览器与站点建立连接,会话开始;当客户端关闭浏览器,会话结束
常用方法:getAttribute、setAttribute
相关文章推荐
- springmvc环境下使用ajaxfileupload.js进行文件上传
- getResourceAsStream的用法
- java笔记-继承
- 第一个简单的Struts2的例子
- Java多线程实现
- eclipse和android studio导入工程的错误
- java文件读写,文本与文件互换
- java Swing JFileChooser 的使用
- Java IO读写中文各种乱码问题 【转】
- Java匿名内部类总结
- SpringMVC 支持Hibernate Validator
- spring解决后台json返回乱码问题
- 深入理解Java内存模型(四)——volatile
- [javase学习笔记]-5.6 二维数组
- 循环一个集合或数组的小算法
- java 获取随机数的三种方法
- JAVA里面的“指针”
- Spring在项目中的应用(一)
- Java里的管道输入流 PipedInputStream与管道输出流 PipedOutputStream
- 深入理解Java内存模型(三)——顺序一致性