JSP指令元素

本文介绍JSP页面的基本配置方法,包括错误页设置、脚本与表达式的使用,并探讨了不同作用域下JavaBean的管理和应用。此外,还讨论了如何通过指令和动作元素实现页面间的静态和动态引入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

404:资源找不到异常
500:服务器异常

声明<%!
声明变量 函数等...
%>

表达式<%=表达式 %>
脚本<%
//java代码
%>

page中的常用元素
contentType //元素格式和页面编码
errorPage 当前页面出错时要跳转的页面
isErrorPage 设置当前页面是否处理错误的页面(该页面可以使用JSP内置对象exception)
language=”java” 设置页面支持的脚本语言
import导入相关的class文件(唯一一个出现多次的属性)
pageEncoding 设置当前页面编码,如果存在charset,以此为准
session 当前页面 true,可以使用session对象,false,不可使用

<@ page language="java" contentType = "text/html;charset=UTF-8
    errorPage="500.jsp"
">
<@ page import="java.util.*,java.net.*",
import="java.sql.*">
<%
    int i = 2/0;
%>

-----------------------------
<@ page language="java" contentType = "text/html;charset=UTF-8"
    isErrorPage = "true"
>
<body>
页面错误<%=exception.getMessage()%>
</body>

include指令:编译一个文件.静态引入,将目标页面html原样不动拷贝到该页面中.
将被包含的页面后缀修改为.jspf片段页面,不会被转换编译.

<%@ include file="文件地址"%>

jsp:include 动态引入,不能引入.jspf片段页面,只能引入完整的jsp页面,引入的页面都被编译.也就是说引入几个片段,生成几个class文件.
如果一个子夜面发生改变,其它子页面不会受到影响.

主页面index.jsp
<jsp:include page="header.jsp">
    <jsp:param name = "user" value = "admin" />
</jsp:include>

子页面header.jsp
用户名:<%=request.getParameter("user")%>

jsp:param和include动作元素配合使用.

jsp:useBean id=”标识符myUser” class=”java类名,注意导包” scope=”作用范围” 
scope四个作用域范围

1.page:当前页面有效pageContext.getAttribute(“实例名”)
2.request:可以通request.getAttribute()方法获得JavaBean对象
3.session:可以通过HttpSession.getAttribute()方法获得JavaBean对象
4.application:可以通过application.getAttribute()方法获得JavaBean对象.

原页面
<jsp:useBean id="user" class="com.po.User" scope="p.r.s.a">
跳转的页面(application)
用户名:<%=((User)application.getAttribure("myUsers")).getUsername()%><br>
跳转的页面(session)
用户名:<%=((User)session.getAttribure("myUsers")).getUsername()%><br>
跳转的页面(request)(服务器转发)
用户名:<%=((User)request.getAttribure("myUsers")).getUsername()%><br>
跳转的页面(Page)只在当前页面有效
用户名:<%=((User)application.getAttribure("myUsers")).getUsername()%><br>
<%
    String username="";
    String password = "";
    if(pageContext.getAttribute("myUser") != null )
    {
        username = ((User)pageContext.getAttribute("myUser")).getUsername();
        password = ((User)pageContext.getAttribute("myUser")).getPassword();
}
%>
用户名:<%=username%>
密码:<%=password%>
--------------

jsp:setProperty
jsp:getProperty

<%@ page import="com.csdn.model.User"%>
<!-相当于:User myUser = new User();->
<jsp:useBean id="myUser" class="User">
<jsp:setProperty name="myUser" property="*" />
<jsp:getProperty name="JavaBean实例名" property="属性值"/>

setProperty 四种赋值形式

1. <jsp:setProperty name = "JavaBean实例名" property="*"/>(跟表单关联):也就是说,根据表单所传过来的参数的名字自动跟JavaBean中的属性Field关联匹配.(全部匹配的属性都有值)
2. <jsp:setProperty name = "JavaBean实例名" property="JavaBean属性名"/>(跟表单关联)类似上一个,但是单个匹配,只匹配你填写的 property 这个属性.
3. <jsp:setProperty name = "JavaBean实例名" property="JavaBean属性名" value = "BeanValue"/>(手工设置)跟表单无关,给property这个属性,填写value这个值.
4. <jsp:setProperty name = "JavaBean实例名" property="propertyName" param="request对象中的参数名或者url中的参数,get提交方式中的参数"/>
如:www.sss.com/xxx?user=admin&pass=123;
<jsp:setProperty name="myUser" property="username" param="user"/>(这是给myUser的username这个属性赋值)
<jsp:setProperty name="myUser" property="username" param="pass"/>(这是给myUser的password这个属性赋值.)
第四中方式主要为了处理,表单参数和JavaBean的属性名不一致的情况.

Forward动作

<jsp:forward page="user.jsp"/>
//等同于
request.getRequstDispatcher("").forward(request,response);

param动作

<jsp:forward page="user.jsp">
    <jsp:param name="email" value="abcd@163.com"/>
</forward>

接收方法和表单参数一样,通过
String email = request.getParameter("email");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值