8.Java web—JSP基本语法
1)脚本标识
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <%-- <%@这两都之间不能为空格 ,但page前面可以任意空格 --%> <%@ page language= "java" contentType= "text/html; charset=utf-8" pageEncoding= "utf-8" %> <!-- 使用 import 指令导入包 --> <%@ page import = "java.util.*" %> <!-- 可以指定禁用session --> <%@ page session= "false" %> <!-- 指明out输出的对象使用的缓冲区大小,默认8kb,单位只能为KB,值一般为 8 的倍数 --> <%@ page buffer= "8kb" %> <!-- 缓存满时是否自动刷新,默认 true ,否则填满时抛出异常 --> <%@ page autoFlush= "true" %> <!-- 指明当前页面是否可以成为另一个jsp页面出错时跳转过来,把当前页面当作错误页面 --> <%@ page isErrorPage= "true" %> <!-- 当前页面出错时跳转到指定的页面,a.jsp要把isErrorPage设置为 true 。 该操作权限高于web.xml里面指定 配置 --> <%@ page errorPage= "/a.jsp" %> <!-- 包含其它文件,其它文件是当源码拿过来组成一个文件解析,并不会单独解析后再拿过来;且path不为能动态的<%=%>表达式 --> <%@ include file= "相对或绝对路径path" %> <!-- taglib指令,prefix指定前缀,uri指定标签库的URI --> <%@ taglib prefix= "c" uri= "ragURI" %> <!-- jsp表达式,=前面不能为空格 --> <%= 表达式 %> <!-- 这里面的代码是全局的,哪怕页面刷新后也一样可以维护之类的状态或值 ,可分多行--> <%! 声明变更或方法的代码 %> <!-- 如下面代码,无论刷新多少次,i值都一直会增加 --> <body> <%! int i= 0 ; int count(){ i++; return i; } %> <%=count() %> </body> <!-- 代码片码,常用,里面的代码就是java的写法 --> <% 代码片段,可换行的 %> |
2)动作指令
1 2 3 4 5 6 7 8 | <!-- 包含文件,被包含的文件可为动态或静态,动态是解析后的结果再引进来。 flush是否刷新缓冲区,当前页有缓冲则要刷新一下再包含。page属性支持动态绑定 --> <jsp:include page= "url" flush= "false" ></jsp:include> <!-- 跳转到指定页面,jsp:param为指定页面传参数,可有可无 --> <jsp:forward page= "url" > <jsp:param value= "3" name= "pageIndex" /> </jsp:forward> |
顶
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构