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对 ...
随机推荐
- Abstract Algebra chapter 7
7.7:Encrypt each of the following RSA messages x so that x is divided into blocks of integers of len ...
- WCF TCP 错误代码 10061: 由于目标计算机积极拒绝
表象是连不上服务端,本质原因多种多样,网络硬件问题导致的网络不通.服务本身问题或没有启动.或者防火墙阻隔等等不一而足. 1.ping看服务端能否ping通: 2.telnet ip地址 端口 ,看看是 ...
- VB的try语句,异常处理
Try语句格式 Try 程式语句 Catch Throw ex Finally 释放一些连接等动作,不管有没有抛异常,都会执行到这里 End try 捕捉异常的语句是很好用的,在程式发生错误时,可以利 ...
- 框架,公共模块,unified思想
最近两周一直在加班加点refactor代码,贡献了2014年最后一个周末和2015年元旦三天假期,终于赶在了sprint结束之前完成. 可见,这个sprint做的并不理想! 项目逻辑本身并不复杂,从数 ...
- NSPredicate 根据谓语动词 进行 模糊查询
/** * 模糊查询 */ NSString *filterString = textField.text; NSPredicate *predicate = [NSPredicate predic ...
- iOS系统自带正则表达式简单运用
//组装一个字符串,把里面的网址解析出来 NSString *urlString = @"sfdshttp://www.baidu.com"; NSError *error; // ...
- iOS: 悬浮的条件筛选框使用二
一.介绍: 在前面已经介绍了一种条件悬浮框,使用的是tableView的Plain分组样式实现的,因为这是tableView本身就具备的功能,分组悬浮效果.这次我来介绍第二种更加简单的方法,采用两个S ...
- iOS: 实现微信支付
一.介绍: 现在的消费越来越方便,直接带个手机用各种三方的支付平台进行支付就行,例如微信.支付宝.现在正好我所做的项目中用到了微信支付,今天就来整理一下. 二.准备: 1.去微信官方开发者平台注册开发 ...
- Android --Android Stuido混淆签名打包
参考博客:Android studio 使用心得(五)—代码混淆和破解apk 参考博客:Android studio 使用心得(四)---android studio 多渠道打包 参考博客:Andro ...
- win7 加域开机自动登录域用户
解决办法:1.本地管理员帐户登录到本机.点击左下角的“开始”,在运行中输入“regedit”,点击确定 2.弹出“注册表编辑器”,找到下面的路径:[HKEY_LOCAL_MACHINE\SOFTWAR ...