jsp标准动作

此文章为收集互联网内容,非原创,仅供忘记时查看。

权限控制,角色授予权限,用户授予角色。判断用户是否登录

<%
    if(session.getAttribute("user")==null){
        response.sendRedirect("lofin.jsp");
    }
%>

如果每页都这样写就太复杂,代码冗余。可以单独写个页面如checkUser.jsp,插入上面的代码。

在需要的页面,通过include指令引入。

<%@include file="/checkUser.jsp" %>

include指令可引入任何文件,静态包含文件内容。

jsp标准动作:利用xml语法格式的标记控制Servlet引擎,使用标签的方式代替编写java代码。

语法:<jsp:>作为前缀,属性区分大小写。

<jsp:action_name attribute1="value1" attribute2="value2"/>

1.    include标准动作,如include指令引入就可以写成:

<jsp:include page="checkUser.jsp"/>

允许在jsp页面包含动态文件和静态文件。

被包含的页面是动态页面,会先处理后再包含。静态包含与include指令一样。

/*使用此包含语句,被包含的页面时动态页面,就可以向被包含的页面之中传递参数,可以通过request.getParameter()直接接收此参数*/
<%-- demo.jsp --%>
<h1><%=request.getParameter("param1") %></h1>

<%-- demo2.jsp --%>
<jsp:include page="demo.jsp">
    <jsp:param value="param1" name="Hello!"/>
</jsp:include>
<h1>demo2页面</h1>

<jsp:include>运行时插入页面;<%@ include file=""%>编译时插入页面。

推荐使用<jsp:include>

 2.    forward标准动作

<jsp:forward page=""/>

 forward完成一次跳转。

<%--demo.jsp --%>
<h1>hello everyone!</h1>

<%--demo2.jsp --%>
<jsp:forward page="demo.jsp"/>

这种跳转也叫转发,地址栏没有任何改变;可以通过<jsp:param>设置参数进行传递,在跳转后页面request.getParameter()接收。

3.    JavaBean,<jsp:userBean>

javabean,一个可重用的java类。

javabean特征:公共类、私有属性、setter和getter方法。

<jsp:useBean id="name" class="package.class" scope="scope" />

id:创建JavaBean的引用名

class:指定JavaBean类

scope:指定JavaBean的范围,默认page。

<jsp:useBean id="service" class="com.me.service.UserService" scope="request"/>
<%--相当于--%>
<%
    UserService service = request.getAttribute("service");
    if(service == null){
        service = new UserService();
    }
    request.setAttribute("service", service);
%>

<jsp:setProperty>为定义的JavaBean属性赋值

<jsp:setProperty property="propertyName" name="BeanName" param="paramer" value="value"/>

name:userBean中使用JavaBean的id。

property:指定要设定的属性名称。

value:为当前属性设定的值。

param:表单元素名称,将上个页面该表单元素的值赋给属性。

param与value不能一起使用。

<jsp:getProperty>获取定义的JavaBean属性赋值,然后将其插入到输出的页面中

<jsp:getProperty property="propertyName" name="BeanName"/>

 使用之前,必须<jsp:userBean>创建。

同一页面不能定义同名JavaBean,不同页面可以创建。

获取属性时,优先获取当前页面定义的JavaBean。

 

 

posted @ 2013-07-03 16:08  fenglie  阅读(672)  评论(0)    收藏  举报
版权所有,转载声明