此文章为收集互联网内容,非原创,仅供忘记时查看。
权限控制,角色授予权限,用户授予角色。判断用户是否登录
<% 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。