JavaWeb表单数据的获取方式
表单页面 <%@ 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">
-->
</head> <body>
<center>
<form action="<%=request.getContextPath() %>/Aservlet"method="post">
姓名<input type="text" name="name" ><br> 性别:<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女">女 <br> 学历:<select name="education">
<option value="doctor">博士</option>
<option value="master">硕士</option>
<option value="bachelor">本科</option>
<option value="junior ">大专</option>
</select><br>
爱好:
<input type="checkbox" name="habby" value="read">读书
<input type="checkbox" name="habby" value="travel">旅行
<input type="checkbox" name="habby" value="run">跑步
<input type="checkbox" name="habby" value="sing">唱歌<br>
工作经历:
<textarea name="works" rows="10" cols="30"> </textarea><br> <input type="submit" value="提交" style="width: 150px;height: 30px;">
</form>
</center> </body>
</html>
Servlet
第一种方式实现(普通式)
/*第一种方式*/
writer.println("<hr>"+"<h2>第一种方式实现(普通式)</h2>");
String education2 = "";
String naemString = request.getParameter("name");
String sex = request.getParameter("sex");
String education = request.getParameter("education");
String[] habbys = request.getParameterValues("habby");
String works = request.getParameter("works");
switch (education) {
case "doctor":
education2 = "博士";
break;
case "master":
education2 = "硕士";
break;
case "bachelor":
education2 = "本科";
break;
case "junior":
education2 = "大专";
break;
default:
break;
}
writer.println("姓名:" + naemString + "<br>");
writer.print("<br>");
writer.println("性别:" + sex + "<br>");
writer.print("<br>");
writer.println("学历:" + education2 + "<br>");
writer.print("<br>");
writer.print("爱好:" + "<br>");
for (String habby : habbys) {
writer.println(habby);
}
writer.print("<br>");
writer.print("<br>");
writer.println("工作经历:" + works + "<br>");
第二种方式实现(通过EntrySet遍历Map集合)
/*第二种方式*/
writer.println("<hr>"+"<h2>第二种方式实现(通过EntrySet遍历Map集合)</h2>");
Map<String, String[]> parameterMap = request.getParameterMap();
for (Entry<String, String[]> entry : parameterMap.entrySet()) {
if (entry.getValue().length>1) {
writer.print(entry.getKey()+": "+"<br>");
for (String string : entry.getValue()) {
writer.print(string+" "+"<br>");
}
}else {
writer.print(entry.getKey()+":"+entry.getValue()[0]+" "+"<br>");
} }
第三种方式实现(通过JavaBean的内省机制)
/*第三种方式实现*/
writer.println("<hr>"+"<h2>第三种方式实现(通过JavaBean的内省机制)</h2>");
Map<String, String[]> parameterMap2 = request.getParameterMap();
UserBean userBean = new UserBean();
try {
BeanUtils.populate(userBean, parameterMap2);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
writer.print("姓名"+" "+userBean.getName()+"<br>");
writer.print("性别"+" "+userBean.getSex()+"<br>");
writer.print("学历"+" "+userBean.getEducation()+"<br>");
if (userBean.getHabby().length>1) {
writer.print("爱好"+"<br>");
for (String string : userBean.getHabby()) {
writer.print(string+"、");
}
}
writer.print("<br>"); writer.print("工作经历");
writer.print("<br>");
writer.print(userBean.getWorks());
writer.print("<hr>");
writer.print(" <a href='http://www.cnblogs.com/heerpeng/'>更多方式</a>");
}
JavaWeb表单数据的获取方式的更多相关文章
- strus2中获取表单数据 两种方式 属性驱动 和模型驱动
strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值 * 如果一个属性在对象栈,在页面 ...
- 基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式
在基于Vue的工作流项目模块中,我们在查看表单明细的时候,需要包含公用表单信息,特定表单信息两部分内容.前者表单数据可以统一呈现,而后者则是不同业务的表单数据不同.为了实现更好的维护性,把它们分开作为 ...
- layer.open弹框中的表单数据无法获取
layer.open弹框中的表单数据无法获取 表单数据模板 layer.open() 页面效果: 当点击确定后,radio和textarea获取的值总是为空,解决办法: var setPriCustB ...
- JavaWeb中表单数据的获取及乱码问题
首先使用一个用户提交界面作为举例(文本框,密码框,选择,下拉表单等),效果如下 注:HTML < form> 标签的 action 属性,其定义和用法是: 属性值为URL,表示向何处发送表 ...
- Spring Mvc 前台数据的获取、SpringMvc 表单数据的获取
首先在web.xml 里面配置一个编码过滤器 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> <filter> <filte ...
- python全栈开发 * 表格标签 表单标签 css 引入方式 * 180807
html部分 一.表格标签<table> 1.一个表格<table>由每行<tr>组成的,每行是由<td>组成的. 注意: 一个表格是由行组成的(行是由 ...
- Action 中获取表单数据的三种方式
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905 冷血之心的博客) Action 中获取表单提交数据 ...
- Struts2_day02--Struts2封装获取表单数据方式
Struts2封装获取表单数据方式 原始方式获取表单封装到实体类对象 属性封装(会用) 1 直接把表单提交属性封装到action的属性里面 2 实现步骤 (1)在action成员变量位置定义变量 - ...
- Struts2封装获取表单数据方式
一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...
随机推荐
- java网络编程2
在通信双方中,ServerSocket是服务器端负责接收的一方,它负责监听指定端口,其构造函数如下: 1.ServerSocket() throws IOException;无参构造函数,之所以存在 ...
- d-规则
[问题描述]对任意给定的m(m∈N+)和n(n∈N+),满足m<n,构造一初始集合:P={x|m≤x≤n,x∈N+} (m,n≤100).现定义一种d规则如下:若存在a∈P,且存在K∈N+ ,K ...
- leanote个人版安装
https://github.com/leanote/leanote/wiki/Leanote-%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%89%88%E8%AF%A6%E7%BB% ...
- 获取终端ip地址
网上找的,记录下 import java.io.*; import java.net.*; import java.util.*; //import org.apache.http.conn.util ...
- webdav不识别软链接?解决办法?
webdav不识别软链接?解决办法? 在使用webdav实现公网存储共享的时候,发现webdav并不支持软链接的共享,如下源代码可以100%确定这个问题 /* ### for now, only pr ...
- 亲临现场不是梦,2017央视春晚推出VR直播
自里约奥运会首次试水VR直播 后,用户开始关注这种观影方式,一瞬间VR直播开始流行.就在月初,江苏卫视宣布2017年跨年晚会将进行VR全景直播.当然,央视是绝对不会错过这中潮流方式. 据悉,央视201 ...
- 跨界玩AR,迪奥、Hugo Boss等知名奢侈品牌将制造AR眼镜
Snapchat因为阅后即焚消息应用而被人所熟知,前段时间这家公司拓展主要业务,未来将不再只有消息应用,还有款名为"Spectacles"的AR太阳镜.内置了一个摄像头,戴上之后即 ...
- apt 根据注解,编译时生成代码
apt: @Retention后面的值,设置的为CLASS,说明就是编译时动态处理的.一般这类注解会在编译的时候,根据注解标识,动态生成一些类或者生成一些xml都可以,在运行时期,这类注解是没有的~~ ...
- c#文本转语音以及语音阅读小实例
c#实现语音阅读以及文本转语音文件是基于c#的一个类库(SpeechSynthesizer )实现的,使用该类必须要添加引用using System.Speech.Synthesis;直接是无法添加引 ...
- 删除mysql中root用户恢复方法
1.# service mysqld stop #停止mysql数据库服务 2.# service mysqld start --skip-grant-tables #跳过授权表启动mysql数据库 ...