java之jsp页面语法
jsp页面相比静态页面html来说,就是多了一些脚本,利用这些脚本来动态地改变页面内容的显示。
1.JSP脚本写法
<% 这里写java代码; %>
<%! JSP声明,用来声明变量、方法; %>
<%= 表达式 %>
4 <%-- JSP注释 --%>
注意:表达式后面不能接分号。
2.JSP指令
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ include file="login_success.jsp" %>
page指令,基本上可以说是每个jsp页面的标配吧,它定义了这个jsp页面脚本语言--java,解析类型--html,
内容编码--utf-8,以及页面的编码-utf-8.
include指令,这个指令相当于html的iframe标签,实现在这个页面中内嵌一个其他页面,这个指令位置放在
哪,那么新页面的渲染位置就在哪。
3.JSP动作
表单获取用户名、密码;
<%--用javabean规则建一个Users类(eco包下),实例化一个对象newUser --%>
<jsp:useBean id="newUser" class="eco.Users" scope="page"/>
<%--设置newUser的属性值,值来自于表单,*号表示取得所有属性值赋给对应的newUser对象 --%>
<%--属性名如果不写*,可以填newUser对应的属性,但是没有填的属性就获取不到 --%>
<jsp:setProperty name="newUser" property="*" />
<%--调用newUser对象的getter方法获取属性值,渲染到页面 --%>
姓名:<%=newUser.getUsername() %>
密码:<%=newUser.getPassword() %>
注意:登录界面填写的用户名、密码数据类型一定要和Users类中规定的数据类型一致!
手动设置输出的用户名、密码;
<form id="login" action="login.jsp?mypassword=88888" method="post">
<jsp:useBean id="newUser" class="eco.Users" scope="page"/>
<%--手动设置username的值vaule--%>
<jsp:setProperty name="newUser" property="username" value="eco" />
<%--手动设置password的值,值来自于表单发送请求时设置的mypassword值--%>
<jsp:setProperty name="newUser" property="password" param="mypassword" /> 姓名:<%=newUser.getUsername() %>
8 密码:<%=newUser.getPassword() %>
上面最后一个是将发送请求时URL里的mypassword值取出赋值给newUser对象的password属性;
<%=request.getParameter("mypassword") %>这句命令即是获取发送请求时URL里的mypassword值。
<jsp:include page="login_success.jsp" flush="true" />
这是一个include动作,功能和其指令一样,page属性表示要插入的页面,flush属性表示是否从缓冲中读取。
<jsp:forward page="login_success.jsp" />
这是一个服务器转发动作,相当于
request.getRequestDispatcher("login_success.jsp").forward(request, response);
将登录页面发来的请求转发到login_success.jsp页面,这个过程是一次请求,虽然经过了两个页面。
<jsp:forward page="login_success.jsp" >
<jsp:param name="e-mail" value="eco@163.com" />
</jsp:forward>
parameter动作通常和forward一起使用,登录表单发送请求给当前页面时只保存了用户名、密码两个信息,
当前页面要转发这次请求给login_success.jsp页面,转发之前,为这次请求添加了一个e-mail属性,那么,
我们可以在login_success.jsp页面通过<%=request.getParameter("e-mail") %>获取之前添加的e-mail属性。
java之jsp页面语法的更多相关文章
- Java之JSP基础语法
1.JSP页面元素简介及page指令 2.JSP注释,3种不同注释 <!-- 我是HTML注释,在客户端可见 --> <%--我是JSP注释,在客户端不可见 --%> ...
- java Web jsp页面的静态包含和动态包含
现在有头 体 尾 三个jsp页面 top.jsp <%@ page language="java" contentType="text/html; charset= ...
- 8.Java web—JSP基本语法
1)脚本标识 <%-- <%@这两都之间不能为空格 ,但page前面可以任意空格 --%> <%@ page language="java" content ...
- 记录---java中jsp页面引入jquery路径的问题
今天在jsp页面中引入jquery的时候因为路径不对总是报404,网上的方法找到几种试了试但是最后结果还是不生效,遂想起原先的项目中有引入外部jquery的例子,所以立马看了看,发现当时的项目中是用$ ...
- java 从jsp页面传集合给controller
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- JAVA记录-JSP页面获取服务器路径方式
1.basePath方式 <% String path = request.getContextPath(); String basePath = request.getScheme()+&qu ...
- Java学习--jsp基础语法
<%! %>和<% %>的区别: <%! //1.可定义方法 //2.可定义static方法 //3.可定义static属性 //4.不可以使用out对象 %> ...
- Jsp基础语法(由简入杂)
JSP基础语法 一,JSP简介 Jsp是一个简化的Servlet设计,是在服务器端执行,他实现了再Java中使用HTML标签. Jsp是一种动态网页技术标准也是JAVAEE的标准 二,常见动态网站开发 ...
- java web学习总结(十五) -------------------JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
随机推荐
- 多线程爬虫Miner
多线程爬虫Miner 需要配置项:1.URL包含关键字.2.存储方式:DB-数据库存储;FILE-文件存储.3.爬取页面最大深度.4.下载页面线程数.5.分析页面线程数.6.存储线程数. ------ ...
- 【闲谈】应聘时要问HR的7个问题
前段时间朋友看了一本书,聊天中告诫了我关于毕业大学生面试时应该问HR的7个问题.这7个问题如下: 我所应聘的这个职位为什么会出现空缺 请问贵公司最成功的员工曾为公司作出了什么样的贡献 如何评估自己在试 ...
- java程序的加载过程
昨天笔试阿里有个求java程序加载过程的题目很是复杂,回来研究了好久才有点明白,整理一下.原题代码如下,判断输出: public class StaticTest { public static in ...
- 从模板模式到JdbcTemplate
模板模式初探 关于模板模式,大家可以参阅 模板方法模式深度解析(一) 原始的jdbc 关于原始的jdbc,如下: import java.sql.Connection; import java.sql ...
- Python学习笔记 - 迭代器Iterator
我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的genera ...
- 反对网抄,没有规则可以创建目标"install" 靠谱解答
在ubuntu下遇到这个问题,原因其实很简单,你不能用WINDWOS下的方法用图形方式打开,然后点了一下按扭"解压缩",生成了一个文件夹. 的确,这个文件夹看起来和正常的没有什么区 ...
- java工具类(二)之java正则表达式表单验证
java正则表达式表单验证类工具类(验证邮箱.手机号码.qq号码等) 这篇文章主要介绍了java使用正则表达式进行表单验证工具类,可以验证邮箱.手机号码.qq号码等方法,需要的朋友可以参考下. jav ...
- iOS中UITableView分割线左侧顶齐
iOS 7开始UITableView的分割线不在从左侧边界开始了,而是默认空出了一段距离. 如果想要使用默认的分割线而且还要从左侧边界开始的话,有几种解决方式: 1.在tableView的代理方法中设 ...
- AP INVOICES IMPORT API(NOT request)
PROCEDURE process_cux_to_ap(x_return_status OUT NOCOPY VARCHAR2, x_msg_count OUT NOCOPY NUMBER, x_ms ...
- 程序员的视角:java 线程
在我们开始谈线程之前,不得不提下进程. 无论进程还是线程都是很抽象的概念,有一个关于进程和线程很形象的比喻能帮我们更好的理解. 进程就像个房子,房子是一个包含了特定属性的容器,例如空间大小.卧室数量等 ...