一个表单提交操作的编码格式问题
2016-05-28 16:40
288 查看
一般与前台交互最好的就是html中表单了。非常简单,但是我也来提一提
show my code:
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>repuested_demo01</title>
</head>
<body>
<form action="requested_demo2.jsp" method="post">
姓名:<input type="text" name="admin"><br>
性别:<input type="radio" name="sex" value="man">man
<input type="radio" name="sex" value="woman">woman<br>
城市:<select name="city">
<option value="北京">北京</optinon>
<option value="天津">天津</optinon>
<option value="厦门">厦门</option>
<option value="福建">福建</option>
</select><br>
兴趣<input type="checkbox" name="**inset" value="跑步">跑步
<input type="checkbox" name="**inset" value="足球">足球
<input type="checkbox" name="**inset" value="蓝桥">篮球
<input type="checkbox" name="**inset" value="桥牌">桥牌<br>
自我介绍<textarea cols="30" rows="10" name="textarea" value="abc"></textarea> <br>
<input type="hidden" name="uid" value="1">
<input type="submit" name="button" value="提交">
<input type="reset" name="reset" value="重置">
</form>
</body>
</html>
所有表单都要用<form>进行声明,其中action 为表单要提交的路径,而method为提交的方法,而提交方有get和post一般使用较多的是post方法,原因提一点吧!post提交的信息数据大小没有限制,而get会有限制,所以信息量较打的内容提交方式都是post。
然后是文本框,单选按钮,复选按钮,和文本域的使用。
看下接受信息并把内容重新展示在页面上
<%@ 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>requested_demo2</title>
</head>
<body>
<% request.setCharacterEncoding("utf-8"); %>
<center>
<table border="1">
<tr>
<td>参数名</td>
<td>参数内容</td>
</tr>
<%
Enumeration en=request.getParameterNames(); //接受全部请求参数的名称,看成一个容器就行了
.
while(en.hasMoreElements()){ //循环取出没一个参数的名称
String paramname=(String)en.nextElement(); //取出对应的内容
%>
<tr>
<td> <%=paramname%></td> //输出名称
<td>
<%
if(paramname.startsWith("**")){ //如果是复选框里面的内容,我们就用数组输出
String paramValue[]=request.getParameterValues(paramname);
for(int x=0;x<paramValue.length;x++){
%>
<%=paramValue[x] %>
<%
}
}else{ //否则就单独输出搞定了
String paramValue=request.getParameter(paramname);
%>
<%=paramValue %>
<%
}
%>
</td>
</tr>
<%
}
%>
</table>
</center>
</body>
</html>
这里输出方法很好用,讲下原理吧,算了,还是在代码上注释一下。
中提示一下,编码问题,困扰了个把小时才解决的。首先如果你的pageEncoding="GBK“ 那么一定要在接受表单的页面上加这样一句
request.setCharacterEncoding="GBK"一定要加,一定要加,一定要加。否则,你就等着乱码吧!而且是接受表单的页面。
大家知道request做动词时请求,索取,得到的意思,这里肯定是向表单页面请求编码格式,就不难理解了。
或者在表单页面加上response.setCharacterEcoding="GBK"
如果你的页面编码是utf-8,同样原理。然后给大家几个myeclipse编译器修改编码格式的方法:
1.修改一个项目的编码格式
选中你的项目,右击,选择最下面一个,英文单词是properties,中文应该是特性的意思
然后你就可以改成你需要的格式,一半我习惯是utf-8,不过也有习惯GBK的。
2.修改你一种类型的文件的编码格式
选择window窗口中的perference再选择General中的content type项
然后比如说你要修改Jsp页面的编码格式,就在下面Default encoding后面条形框中写上UTF-8或者gbk再或者你喜欢的编码格式
然后update,最后ok!这样你你可以快乐的在jsp页面上编码了,妈妈再也不用担心我写出来的页面会乱码了。
3。整个myeclipse中的编码格式修改
同样是window窗口中的perference选项,然后是General下面的wokespace选中。
然后选择默认的GBK或者下面下拉框中的UTF-8或者你喜欢的编码格式。点击Apply,再点击ok。这样你写的所有的页面默认格式就是你所选中的格式了。
如果此时你说我写出来的东西还是乱码。那我也无能为力了。重装myeclipse,再或者重装系统。
以上都是我自己遇到的问题然后搜索的答案,再根据自己理解加以总结出来的。如果有不对的地方欢迎指正
show my code:
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>repuested_demo01</title>
</head>
<body>
<form action="requested_demo2.jsp" method="post">
姓名:<input type="text" name="admin"><br>
性别:<input type="radio" name="sex" value="man">man
<input type="radio" name="sex" value="woman">woman<br>
城市:<select name="city">
<option value="北京">北京</optinon>
<option value="天津">天津</optinon>
<option value="厦门">厦门</option>
<option value="福建">福建</option>
</select><br>
兴趣<input type="checkbox" name="**inset" value="跑步">跑步
<input type="checkbox" name="**inset" value="足球">足球
<input type="checkbox" name="**inset" value="蓝桥">篮球
<input type="checkbox" name="**inset" value="桥牌">桥牌<br>
自我介绍<textarea cols="30" rows="10" name="textarea" value="abc"></textarea> <br>
<input type="hidden" name="uid" value="1">
<input type="submit" name="button" value="提交">
<input type="reset" name="reset" value="重置">
</form>
</body>
</html>
所有表单都要用<form>进行声明,其中action 为表单要提交的路径,而method为提交的方法,而提交方有get和post一般使用较多的是post方法,原因提一点吧!post提交的信息数据大小没有限制,而get会有限制,所以信息量较打的内容提交方式都是post。
然后是文本框,单选按钮,复选按钮,和文本域的使用。
看下接受信息并把内容重新展示在页面上
<%@ 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>requested_demo2</title>
</head>
<body>
<% request.setCharacterEncoding("utf-8"); %>
<center>
<table border="1">
<tr>
<td>参数名</td>
<td>参数内容</td>
</tr>
<%
Enumeration en=request.getParameterNames(); //接受全部请求参数的名称,看成一个容器就行了
.
while(en.hasMoreElements()){ //循环取出没一个参数的名称
String paramname=(String)en.nextElement(); //取出对应的内容
%>
<tr>
<td> <%=paramname%></td> //输出名称
<td>
<%
if(paramname.startsWith("**")){ //如果是复选框里面的内容,我们就用数组输出
String paramValue[]=request.getParameterValues(paramname);
for(int x=0;x<paramValue.length;x++){
%>
<%=paramValue[x] %>
<%
}
}else{ //否则就单独输出搞定了
String paramValue=request.getParameter(paramname);
%>
<%=paramValue %>
<%
}
%>
</td>
</tr>
<%
}
%>
</table>
</center>
</body>
</html>
这里输出方法很好用,讲下原理吧,算了,还是在代码上注释一下。
中提示一下,编码问题,困扰了个把小时才解决的。首先如果你的pageEncoding="GBK“ 那么一定要在接受表单的页面上加这样一句
request.setCharacterEncoding="GBK"一定要加,一定要加,一定要加。否则,你就等着乱码吧!而且是接受表单的页面。
大家知道request做动词时请求,索取,得到的意思,这里肯定是向表单页面请求编码格式,就不难理解了。
或者在表单页面加上response.setCharacterEcoding="GBK"
如果你的页面编码是utf-8,同样原理。然后给大家几个myeclipse编译器修改编码格式的方法:
1.修改一个项目的编码格式
选中你的项目,右击,选择最下面一个,英文单词是properties,中文应该是特性的意思
然后你就可以改成你需要的格式,一半我习惯是utf-8,不过也有习惯GBK的。
2.修改你一种类型的文件的编码格式
选择window窗口中的perference再选择General中的content type项
然后比如说你要修改Jsp页面的编码格式,就在下面Default encoding后面条形框中写上UTF-8或者gbk再或者你喜欢的编码格式
然后update,最后ok!这样你你可以快乐的在jsp页面上编码了,妈妈再也不用担心我写出来的页面会乱码了。
3。整个myeclipse中的编码格式修改
同样是window窗口中的perference选项,然后是General下面的wokespace选中。
然后选择默认的GBK或者下面下拉框中的UTF-8或者你喜欢的编码格式。点击Apply,再点击ok。这样你写的所有的页面默认格式就是你所选中的格式了。
如果此时你说我写出来的东西还是乱码。那我也无能为力了。重装myeclipse,再或者重装系统。
以上都是我自己遇到的问题然后搜索的答案,再根据自己理解加以总结出来的。如果有不对的地方欢迎指正
相关文章推荐
- 1036: [ZJOI2008]树的统计Count 【树链剖分】【点权:单点更新区间求值】
- 剑指offer面试题7(java实现)
- 网龙现场笔试电话面试经历
- Android菜单详解(五)——使用XML生成菜单
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- Windows-DB2 9.7安装图解
- POJ1004 Financial Management【保留小数】
- 根据Schema写出XML文档四部曲
- Xlint:invalidAbsoluteTypeName
- android 设计模式之单例模式详解
- C / C++中保留小数精度
- css 字体
- js获取参数丢失0
- 根据Schema写出XML文档四部曲
- python学习笔记 1 数学运算
- HDU 1038 简单计算
- Android菜单详解(四)——使用上下文菜单ContextMenu
- 欢迎使用CSDN-markdown编辑器
- 第二阶段工作总结02
- Java多线程性能优化