chap05 表单开发
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其他同名表单元素(multiNameForm.jsp;multiNameForm_result.jsp)
2014-6-20
隐藏表单
13
例子:页面 1 中定义了一个数值变量,并显示其平方;要求
在页面 2 中显示其立方。很明显,页面 2 必须知道页面 1 中定义的那个变量。
可以用 URL 传值。
相对路径
绝对路径
2014-6-20
定义表单
6
若干问题(续1) “page.jsp”如何获得提交过来的值?
Request对象~ Request.getParameter(“元素名”) 示例: <% String str = request.getParameter(“account”); %> name=account 的表单元素值
优点
可以在传送数据的同时,附带上与该数据相关的信息。如修改成绩 时附带上学号信息
2014-6-20
其他问题——预检查
15பைடு நூலகம்
用javascript进行提交
有时候,可能要对表单中的输入进行一些验证。如在登录 表单中,需要输入的账号密码不能为空。因此,当点击提 交按钮时,不能马上提交,应该调用 JavaScript 进行验 证,然后进行提交。因此,提交按钮的类型不能被设置为 submit,而应该设置为 button
捆绑表单元素,是指多个同名表单元素的值送给服务
器端时,是一个捆绑的数组。这种情况下的表单元素 主要有:复选框、多选列表框、其他同名表单元素等
request.getParameterValues("表单元素名")
示例 <% String[] str= request.getParameterValues(“pName”); %>
若不想显示在页面上,可以设定为页面1中的隐藏表单。
2014-6-20
隐藏表单
14
实现方法: 网页制作中,input 有【type="hidden”】的选项,它是隐藏 在网页中的的一个表单元素,并不在网页中显示出来。这就是 实现隐藏表单的方法
约束
只能传字符串 传输数据虽然不显示在浏览器链接中,但是会显示在客户端源码中
2014-6-20
其他问题——中文乱码
16
中文乱码问题
Tomcat 服务器,在提交过程中, 如果提交的内容中含有中文,经常会出现中文乱 码问题 常见有两种情况 中文无法显示
如果使用的是
没有把文件头上的字符集设置为中文字符集。一定要保证文件头 上写明:
<%@ page language="java" pageEncoding="gb2312"%> <%@ page language="java" contentType="text/html; charset=gb2312"%>
第五章 表单开发
1
2014-6-20
本课教学内容
2
认识表单 单一表单元素数据的获取 捆绑表单元素数据的获取 隐藏表单
其他问题
2014-6-20
认识表单
3
表单是可以由用户
输入并提交服务器 处理的图形界面
2014-6-20
定义表单
4
HTML中<form><input>标签都是定义表单的标签 表单的属性 表单可以输入内容,输入的内容由表单元素控制 表单中通常都有一个提交按钮 单击提交按钮,表单元素会提交给服务器端 提交的内容是位于<form></form>乊间的内容
如果想要实现普通按钮的表单提交,必须辅助javascript编写提交 代码
2014-6-20
单一表单元素数据的获取
8
单一表单元素,是指表单元素的值送给服务器端时,
仅仅是一个变量。 这种情况下的表单元素主要有:文本框、密码框、多 行文本框、单选按钮、下拉菜单等 利用request.getParameter("表单元素名")方法获 得一个字符串。
2014-6-20
定义表单
5
若干问题 表单提交给服务器,到底是服务器上的哪个页面接收?
由Form的action属性定义
<form action=“page.jsp”> < form action=“../page.jsp”> < form action=“jsps/page.jsp”> < form action=“/Prj05/page.jsp”>
2014-6-20
其他问题——中文乱码
19
利用过滤器
利用过滤器,可以对整个 Web 应用进行统一的编码过滤, 比较方便。该内容在后面的章节中提到
2014-6-20
本章结束
20
本章总结
Web 站点的基本原理 JSP 的基本语法 表单开发和隐藏表单
上机习题 练习作业
每个人在自己的网站上增加一个用户登录表单,根据用 户的登录信息进行判断,要求
但是通过 URL 方法,传递的数据可能被看到。
为了避免这个问题,我们可以用表单将页面 1 中的变量传给页面 2
<form action="formP2.jsp" method="post"> <input type="text" name="number" value="<%=number %>"> <input type="submit" value="到达p2"> </form>
2014-6-20
捆绑表单元素数据的获取
12
复选框(checkForm.jsp; checkForm_result.jsp)
数组中的下 标是怎么确 定的呢? 按照源码中 该元素出现 的顺序依次 放在 [0][1][2]…
多选列表(listForm.jsp ; listForm_result.jsp)
Str的值=
null
(当表单中没有account元素时)
“” (当表单中的account元素没有填写值的时候)
2014-6-20
定义表单
7
若干问题(续2) <input type=“submit” value=“登录”>表示提交按钮,可以 用普通按钮来代替么?
不能! 普通按钮单击的时候没有提交表单的功能。
2014-6-20
单一表单元素数据的获取
9
文本框
如果输入的查询信息为中文,会变成什么样?
乱码
怎么才能使地址栏不显示表单信息?
Method=“post”
2014-6-20
单一表单元素数据的获取
10
密码框
单选框
多行文本框
下拉菜单
2014-6-20
捆绑表单元素数据的获取
11
2014-6-20
其他问题——中文乱码
17
提交过程中显示乱码,有 3 种方法解决这个问题
将其转成 gb2312 格式
方法如下:变量(字符串 )= new String(变量(字符 串 ).getBytes("ISO-8859-1"),"gb2312") 示例:
<% String stuname = request.getParameter(“stuname”); stuname= new String (stuname.getBytes(“ISO-8859-1”,”GB2312”); %>
2014-6-20
其他问题——中文乱码
18
直接修改 request 的编码
可以将 request 的编码修改为支持中文的编码,这样,整个 页面中的请求,都可以自动转为中文 request.setCharacterEncoding("gb2312") 示例:
<% request.setCharacterEncoding(“gb2312”); String stuname = request.getParameter(“stuname”); %> 缺点,要对每个页面都进行request设置,并且表单的提交方式必须 是post方式。
用户名=“张三”;密码=“123abc”可以登录 用户名=“李四”;任意密码,不能登录 用户名、密码不可以为空
2014-6-20