jsp七大动作
jsp动作(action)是指在运行期间的命令,常见的有:
- jsp:useBean
- jsp:setProperty
- jsp:getProperty
- jsp:include
- jsp:forward
- jsp:param
- jsp:plugin
1.include
include 动态包含(分别编译):用jsp:include动作实现,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。flush属性: 用true ,表示页面可刷新。默认为false;在使用include命令时除非该命令被执行到,否则它是不会被Tomcat等JSP Engine编译。
<jsp: include page="included.jsp" flush="true" />
2.useBean
useBean动作(jsp页面使用javaBean的第二种方式),作用域默认为page(本页面有效)
<jsp:useBean id="对象名" class="包名.类名" scope="作用范围(page/request/application/session)"/>
scope属性用于指定JavaBean实例对象所存储的域范围,其取值只能是page、request、session和application四个值中的一个,其默认值是page。
<jsp:useBean id="currentDate" class="java.util.Date" scope="request" />
<%=currentDate.toString() %>
- 当scope=application时,我们浏览date.jsp,这时显示出了系统时间。可是不管我们怎么刷新,另外打开一个浏览器,甚至换台机 器,它显示的时间始终不变,都是当初的时间(即bean刚创建时得到的系统时间),因为scope=application,所以JavaBean的实例在内存中只有一份,此时只要不重新启动WEB服务,输出不会变化。
- 当scope=session时,浏览date.jsp,刷新时显示也不会变化。可是当我们重新打开一浏览器,即一个新的session,系统便再次创建JavaBean的实例,取得当前系统时间,这时将得到正确的时间。同样,再次刷新新打开的页面,显示也不会变化。
- 当scope=page/request时,不断刷新页面将不断得到当前系统时间。
3.getProperty
getProperty动作(name为useBean动作中的id).从对象中取出属性值:
<jsp:getProperty name="javaBean对象" property="javaBean对象属性名" />
4.setProperty
setProperty动作(name为useBean动作中的id):
- 为对象设置属性值:
<jsp:setProperty name="javaBean对象" property="javaBean对象属性名" value="值"/>
- 为对象设置属性值:
<jsp:setProperty property="javaBean对象属性名" name="javaBean对象" param="username"/>
5.param
param动作:传递参数,到达跳转页面可以通过 request.getParameter("参数名")方式取出参数值
<jsp:include page="转向页面的url" >
<jsp:param name="参数名1" value="参数值1"></jsp:param>
<jsp:param name="参数名2" value="参数值2"></jsp:param>
</jsp:include>
或:
<jsp:forward page="转向页面的url">
<jsp:param name="参数名1" value="参数值1"></jsp:param>
<jsp:param name="参数名2" value="参数值2"></jsp:param
</jsp:forward>
6.forward
forward动作:跳转页面
<jsp:forward page="login.jsp" />
7.plugin
plugin动作:<jsp:plugin>:用于指定在客户端运行的插件,不常用