9、JSP

1、JSP本质是一个servlet

jsp底层进行了封装,其实还是通过servlet调用PrintWriter的print方法在给页面写数据。由此可见Jsp其实本质上就是一个servlet,我们在使用时也可以把它当成一个特殊的html来使用。

2、导入包
    <!-- https://mvnrepository.com/artifact/javax.servlet.jsp.jstl/jstl-api -->
    <dependency>
      <groupId>javax.servlet.jsp.jstl</groupId>
      <artifactId>jstl-api</artifactId>
      <version>1.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.taglibs/taglibs-standard-impl -->
    <dependency>
      <groupId>org.apache.taglibs</groupId>
      <artifactId>taglibs-standard-impl</artifactId>
      <version>1.2.5</version>
      <scope>runtime</scope>
    </dependency>
3、基础语法
1.注释
<!-- 会向浏览器输出的注释,会被编译到jsp生成的java类里 --!>
<%-- 不会向浏览器输出的注释 --%>
2.指令
1、page指令
	language:java						//编程语言,唯一)
	contentType:text/html				//设置内容类型和静态页面的编码
	pageEncoding:UTF-8					//页面本身的编码格式
	import:							//导入包
	
2、include指令							//把目标页面的内容包含到当前页面,产生页面叠加的效果,相当于页面合并,可在任意位置插入
	语法:<%@include file="index.jsp"%>
	
3、taglib指令							//导入便签库
	语法:<%@taglib prefix=""%>
4、简单应用
	<%@ page errorPage="MyError.jsp" %>		//让画面出错时进入自定义错误画面MyError
3.表达式
<%-- 输出当前时间,这里也可以写其他Java代码,会被编译到jsp生成的java类里的_jspService方法里 --%>
<%=new java.util.Date()%>
%-- EL表达式 --%>

request.setAttribute("name","北京");			//后台通过此方法存值到键值对中
${requestScope.name}								//前台通过EL表达式获取值

HttpSession session=request.getSession();
session.setAttribute("name2","湖北");				//后台通过此方法存值到键值对中
${sessionScope.name2}								//前台通过EL表达式获取值

ServletContext application=request.getServletContext();
application.setAttribute("name3","天津");			//后台通过此方法存值到键值对中
${applicationScope.name3}							//前台通过EL表达式获取值

pageContext.setAttribute("name","上海");			//后台通过此方法存值到键值对中
${pageScope.name}								//前台通过EL表达式获取值

(1)request				作用域:在一次请求过程当中有效(经过servlet算一次请求)
(2)session				作用域:在一次会话过程当中有效(浏览器开关算一次会话)
(3)application			作用域:tomcat启动之后有效(tocamat没重启过)
(4)pageContext			作用域:只在一个页面中有效

${1+1}												//结果为2
${true && false}									//结果为false,EL表达式中无单&、单|
${not true}											//结果为false
${5>=3}												//结果为true
${empty null "a"}									//结果为false(判断是否为空)
${cookie.name.value}								//取出cookie中的name键对应的值
${pageContext.request.contextPath}/servlet			//访问项目路径下的servlet
4.标签
<%-- 引用jstl核心标签库 --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<form method="get" action="current.jsp">
    <%--EL表达式获取表单中的数据${param.参数名}--%>
    用户名2:<input type="text" name="name2" value="${param.name2}"><br/>
    <input type="submit" value="提交信息"><br/>
</form>
<h5>*********java代码实现*************<h5/>
<% String username=(String)request.getParameter("name2");
if(username.equals("admin"))
    out.println("登录成功");
else
    out.println("name2="+username);
%>
<h5>*********java代码实现*************<h5/>
<br/>
<%--判断如果是管理员就登录成功--%>
<c:if test="${param.name2=='admin'}" var="isAdmin">
    <c:out value="管理员欢迎你"></c:out>
</c:if>
<c:out value="${param.isAdmin}"></c:out>

JSTL标签使用参考链接

4、中文乱码处理

idea项目html中文乱码

5、layUI前端框架

将要下线的官网

layUI 的 Gitee

bootstrap可视化布局

Ant-Design组件库

网站快速成型工具 Element

基于Vue.js 的 UI 组件库

源HTML5 跨屏前端框架

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值