表单页面

<%@ 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表单数据的获取方式的更多相关文章

  1. strus2中获取表单数据 两种方式 属性驱动 和模型驱动

    strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值 * 如果一个属性在对象栈,在页面 ...

  2. 基于Vue的工作流项目模块中,使用动态组件的方式统一呈现不同表单数据的处理方式

    在基于Vue的工作流项目模块中,我们在查看表单明细的时候,需要包含公用表单信息,特定表单信息两部分内容.前者表单数据可以统一呈现,而后者则是不同业务的表单数据不同.为了实现更好的维护性,把它们分开作为 ...

  3. layer.open弹框中的表单数据无法获取

    layer.open弹框中的表单数据无法获取 表单数据模板 layer.open() 页面效果: 当点击确定后,radio和textarea获取的值总是为空,解决办法: var setPriCustB ...

  4. JavaWeb中表单数据的获取及乱码问题

    首先使用一个用户提交界面作为举例(文本框,密码框,选择,下拉表单等),效果如下 注:HTML < form> 标签的 action 属性,其定义和用法是: 属性值为URL,表示向何处发送表 ...

  5. Spring Mvc 前台数据的获取、SpringMvc 表单数据的获取

    首先在web.xml 里面配置一个编码过滤器 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> <filter> <filte ...

  6. python全栈开发 * 表格标签 表单标签 css 引入方式 * 180807

    html部分 一.表格标签<table> 1.一个表格<table>由每行<tr>组成的,每行是由<td>组成的. 注意: 一个表格是由行组成的(行是由 ...

  7. Action 中获取表单数据的三种方式

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905  冷血之心的博客) Action 中获取表单提交数据 ...

  8. Struts2_day02--Struts2封装获取表单数据方式

    Struts2封装获取表单数据方式 原始方式获取表单封装到实体类对象 属性封装(会用) 1 直接把表单提交属性封装到action的属性里面 2 实现步骤 (1)在action成员变量位置定义变量 - ...

  9. Struts2封装获取表单数据方式

    一.属性封装 1.创建User实体类` package cn.entity; public class User { private String username; private String p ...

随机推荐

  1. C#开发中常用方法3------Cookie的存取

    ---------------------------------------------------------------------------------------------------- ...

  2. js字符串格式化扩展方法

    平时使用js的时候会遇到很多需要拼接字符串的时候,如果是遇到双引号和单引号混合使用,经常会搞混.在C#中有string.Format方法,使用起来非常方便,也很容易理解,所以找到一种参考C#的form ...

  3. Mesos高可用解决方案剖析

    本文作者王勇桥,80后的IT攻城狮,供职于IBM多年,Mesos和Swarm社区的贡献者.本文是他根据自己对Mesos的高可用(High-Availability)设计方案的了解以及在Mesos社区贡 ...

  4. url中的特殊字符问题

    在 使用url进行参数传递时,经常会传递一些中文名(或含有特殊字符)的参数或URL地址,在后台处理时会发生转换错误.在有些传递页面使用GB2312, 而在接收页面使用UTF8,这样接收到的参数就可能会 ...

  5. CSS3动画制作

    CSS3动画制作 rotate 绕中心旋转 fadeInPendingFadeOutUp 先渐现,停留2s,再向上滑动并逐渐消失 fadeInUp2D 向上滑动并渐现, 因Animate.css的fa ...

  6. Linux 常识

    一.Linux 各目录及每个目录的详细介绍: Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设备特殊文件 ...

  7. UVA - 11604 General Sultan 题解

    题目大意: 有若干模式串,将某些模式串拼接起来(一个可以使用多次)形成一个长模式串,判断能否有两种或更多种不同的拼法拼成相同的模式串. 思路: 神奇的构图,暴力的求解. 可以发现,若有不同的拼法,则一 ...

  8. Spark Application的调度算法

    要想明白spark application调度机制,需要回答一下几个问题: 1.谁来调度? 2.为谁调度? 3.调度什么? 3.何时调度? 4.调度算法 前四个问题可以用如下一句话里来回答:每当集群资 ...

  9. nodejs express 安装

    前几天刚遇到的问题sudo npm install -g expresssudo npm install -g express-generator然后通过express -V查看版本,看好是大写的V ...

  10. 【第三课】WEBIX 入门自学-Hello World

    在看官网教程时,入门的例子就是dataTable这个空间.So,遵循官网,一起来看一下入门的DataTable组件: WEB使用时固然是先引入相应的库文件: 代码如下 <html> < ...