JSP动作标签:
通过动作标签,程序员可以在JSP页面中把页面的显示功能部分
封装起来,是整个页面更简洁和易于维护
<jsp:useBean>
装载一个将在JSP页面中使用的JavaBean,发挥组件重用的优势
语法:
<jsp:useBean id="name" class="packge.class" scope="page">
id:创建JavaBean的名称,可以不与Java类名相同
class:表示创建的JavaBean名称所引用或者指向的JavaBean类的完整限定名。
scope:表示这个JavaBean的有效范围和id的有效范围,
共有有page(默认),request,session,application
示列:
<jsp:useBean id="newsService" class="com.wu.service.impl.NewsServiceImpl" scope="page">
<jsp:useBean id="newsDao" class="com.wu.dao.impl.NewsDaoImpl" scope="page">
等于下面代码
NewsServiceImpl newsService=new newsServiceImpl();
NewsDao newsDao=new NewsDaoImpl();
<jsp:setProperty>
为JavaBean的属性进行设置。
语法:
<jsp:setProperty name="" property="BeanName" value="value">
name:被赋值的对象(JavvaBean)名称。
property:表示被赋值对象中,需要进行赋值操作的属性名称。
value:表示需要给被赋值属性所赋的值
示列:
<jsp:useBean id="newsService" class="com.wu.service.impl.NewsServiceImpl" scope="page">
<jsp:useBean id="newsDao" class="com.wu.dao.impl.NewsDaoImpl" scope="page">
<jsp:setProperty property="newDao" name="newsService" value"<%=newDao%>"/>
等于下面代码
<%
NewsServiceImpl newsService=new newsServiceImpl();
NewsDao newsDao=new NewsDaoImpl();
newsService.setNewsDao(newsDao);
%>
使用include指令实现静态包含:
<%@include%>---静态包含
将另一个文件中的代码复制到一个JSP中。被包含的文件代码将会在JSP中被执行。
语法:
<%@include file="URL"%>
示列:
<%@include file="common/common.jsp"%>
将common目录下的common.jsp文件包含到当前页面中
使用JSP标签实现动态包含:
<jsp:include>---动态包含
把指定文件插入正在生成的页面中。先执行被包含页面的代码,然后将结果包含到
到当前页面中的包含方式。
特点:
当包含文件为静态时,效果与<%@include%>一样。
当包含文件为动态时,被包含文件也会被JSP编译器执行。
语法:
<jsp:include page="URL"/>
page:表示需要包含的页面路径。
示列:
<!--页面顶部-->
<jsp:include page="adminTop.jsp"></jsp:include>
<!--页面中部-->
<div id="content" class="main-content clearfix">
<jsp:include page="adminSidebar.jsp"></jsp:include>
<jsp:include page="adminRightbar.jsp"></jsp:include>
</div>
<!--页面底部-->
<jsp:include page="adminBottom.jsp"></jsp:include>
<jsp:include>与<%@include%>的区别:
<%@include%>
静态包含,将被包含页面的内容包含进来。先包含再处理。
<jsp:include>
为动态包含,将被包含页面的结果包含进来。先处理在包含。
<jsp:forward>---用于实现页面跳转:
语法:
<jsp:forward page="URL">
page:需要跳转的页面路径。
相同于
request.getRequestDispatcher(URL).forword(request,response);