JSP数据交互习题错误总结
1:如果注册完页面有中文字符需要在提交后的页面显示注册信息,切记先把接受到的request的编码方式改为中文:request.setCharacterEncoding("utf-8");
不然会出现乱码
2:提交表单的时候,错误的把事件绑定到了submit按钮上了,应该绑定到表单标签,获取表单信息!
因为跳转后的页面需要显示上个注册页面的信息,用request.getParameter(String name);这个方法的作用是获取上个请求页面的所有提交的表单信息, 这个方法只能获取有name属性的标签值。 radio单选框最终选的是一个值,虽然性别选项的name值都是gender,但是我们最终获取的是一个选项,所以还可以用request.getParameter()方法。 checkbox复选框里因为可以选多个值所以要用request.getParameterValues()方法获取一个数组(复选框的所有name值要一致,复选框一定要设置value属性值要不然取到的值全是on,因为取不到框外的值,value和框外值要一致),然后遍历数组取值。
还有一个下拉框<select name="choice"><option>1</option> <option>1</option> <option>1</option></select>这里因为最终也是只取一个下拉框选项所以最终也只取一个值用request.getParameter(),但是option标签里没有name属性,不能乱加,只能在select标签里给一个name属性,取到选中值! 如:
MyEclipse创建的项目
***********************
1:index.jsp
*****************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script src="js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
function mycheck(){
var inputs=$("#year").val();
var reg=/^(19[5-9][0-9])|20[0-1][0-4]$/;
if(inputs==""){
alert("年份不能为空");
//$("#year").val(2014);
return false;
}
else if(!reg.test(inputs)){
//$("#year").val(2014);
alert("必须输入1950-2014之内的正整数");
return false;
}
return true;
}
$(function(){
$("#year").css("width","80px");
//年份正则表达式
$("#year").blur(function(){
mycheck();
})
$("#tijiao").submit(function(){
return mycheck();
})
//自动改变月份日分
$("#one").change(function(){
var $num=$("#one option:selected").text();
if($num==1|$num==3|$num==5|$num==7|$num==9|$num==10|$num==12){
var str="";
for(var i=1;i<=31;i++){
str+="<option>"+i+"</option>";
}
$("#two").html(str);
}else if($num=="请选择"){
$("#two").html("请选择");
}else if($num==2){
var sts="";
for(var i=1;i<=28;i++){
sts+="<option>"+i+"<option>";
}
$("#two").html(sts);
}else{
var strs="";
for(var i=1;i<=30;i++){
strs+="<option>"+i+"<option>";
}
$("#two").html(strs);
}
})
})
</script>
</head>
<body>
<form id="tijiao" action="welcome.jsp" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="txtname"/>只能输入字母或数字,4-16个字符</td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="txtpwd"/>密码长度6-12位</td>
</tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="txtrepwd"/></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="gender" value="男" checked="checked"/>男
<input type="radio" name="gender" value="女"/>女
</td>
</tr>
<tr>
<td>电子邮件地址:</td>
<td><input type="text" name="txtemail"/>输入正确的Email地址</td>
</tr>
<tr>
<td>出生日期:</td>
<td>
<input id="year" type="text" name="txtyear"/>年
<select name='month' id="one">
<option >请选择</option>
<%
for(int i=1;i<=12;i++){
out.print("<option id='+i+'>"+i+"</option>");
}
%>
</select>月
<select name="day" id="two">
<option>请选择</option>
</select>日
</td>
</tr>
<tr>
<td><input type="submit" id="txtagree" value="同意以下协议条款并提交"/></td>
<td><textarea rows="10" cols="30" >一、总则
速度加快萨拉宽带阿斯顿has机会打撒时间大时代阿斯顿阿大使馆的哈市国家打扫打扫打扫过的爱上大事大家</textarea></td>
</tr>
</table>
</form>
</body>
</html>
2.welcome.jsp
********************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'welcome.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
欢迎观临,您的注册信息为:
<table>
<tr>
<td>用户名:</td>
<%request.setCharacterEncoding("utf-8"); %>
<td><%=request.getParameter("txtname") %></td>
</tr>
<tr>
<td>密码:</td>
<td><%=request.getParameter("txtpwd") %></td>
</tr>
<tr>
<td>性别:</td>
<td><%=request.getParameter("gender") %></td>
</tr>
<tr>
<td>电子邮件地址:</td>
<td><%=request.getParameter("txtemail") %></td>
</tr>
<tr>
<td>出生日期:</td>
<td><%=request.getParameter("txtyear")+"年"+request.getParameter("month")+"月"+request.getParameter("day")+"日"
%>
</td>
</tr>
</table>
</body>
</html>
JSP数据交互习题错误总结的更多相关文章
- JSP数据交互
JSP数据交互 一.jsp中java小脚本 1.<% java代码段%> 2.<% =java表达式%>不能有分号 3.<%!成员变量和函数声明%>二.注释 1 ...
- #学习笔记#JSP数据交互
#学习笔记#JSP数据交互 数据库的使用方式: 当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...
- 《JSP数据交互总结》
1.1.1为什么需要动态网页 静态网页的内容是固定的,不能提供个性化和定制化的服务,因此,动态网页技术逐渐发展起来. 1.1.2什么是动态页面 动态网页是指在服务器端运行的使用程序语言设计的交互式网页 ...
- JSP/Servlet开发——第二章 JSP数据交互(一)
1. JSP内置对象:JSP内置对象是 Web 容器创建的一组对象: ●JSP常用的内置对象:out.request.application.session.response等: ●内置对象不需要 ...
- jsp数据交互(一).2
01.什么是JSP内置对象(jsp核心)? Java 内置对象 Java 作用域 解析:jsp内置对象是web容器创建的一组对象.我们都知道tomcat这款软件可以看成是一种web容器,所以我们可以 ...
- JSP———数据交互【1】
JSP的内置对象 不用声明就可以在JSP页面中使用 request对象 内置对象 request 封装了用户提交的信息,主要用于处理客户端请求 <FORM action="tom.js ...
- jsp数据交互(一),九大内置对象
九大内置对象 九大内置对象 内置对象 类型 说明 作用域 request javax.servlet.ServletRequest 请求对象——在 一次请求/一个Request请求周期 中传递数据,请 ...
- JSP数据交互——九大内置对象及其方法详解(一)
①既然说到JSP内置对象,那么什么是JSP内置对象呢? 解析:JSP内置对象,就是在编写JSP页面时,不需要做任何声明就可以直接使用的对象. 如下代码片段: <% int[] value ...
- JSP/Servlet开发——第二章 JSP数据交互(二)
1. JSP 内置对象 application: ●application 对象类似于系统的 "全局变量", 用于同一个应用内的所有用户之问的数据共享: ●application对 ...
随机推荐
- C 不改变顺序,原址剔除数组中的0元素
#include <stdio.h> #include <malloc.h> #include <stdlib.h> #include <time.h> ...
- JS实现操作成功定时回到主页效果
效果图: 页面代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...
- 自己用的一个ASP.Net MVC分页拿出来分享下(转)
实例懒得做.切几个图把代码发上要用的自己搞啦~ 下面是一个helper类. namespace System.Web.Mvc { public enum BarStyle { yahoo, digg, ...
- [LeetCode]题解(python):056-Merge Intervals
题目来源 https://leetcode.com/problems/merge-intervals/ Given a collection of intervals, merge all overl ...
- ECSHOP给分类添加图
1.修改/admin/template/category_info.html <tr> <td>{$lang.cat_img}:</td> <td> & ...
- LightOj1028 - Trailing Zeroes (I)---求因子个数
题目链接:http://lightoj.com/volume_showproblem.php?problem=1028 题意:给你一个数 n (1<=n<=10^12), 然后我们可以把它 ...
- HTML知识点总结以及典型例子讲解
一.HTML文本格式化标签(这些标签都不换行) eg: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- http://blog.csdn.net/fw0124/article/details/48280083
http://blog.csdn.net/fw0124/article/details/48280083
- 使用C语言把字母转换成大写,不能使用库函数
char to_upper(char input) { if ('a' <= input && input <= 'z') { return input - ' ...
- iOS UIWebView清除缓存
UIWebView清除Cookie: //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieSto ...