表单页面

<%@ 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. echarts之tooltip-position

    当postion为Array时 tooltip : { trigger: 'axis', position:[3,3] //赋予一个[x,y]的位置 } 当postion为function时 tool ...

  2. 支付宝支付-APP支付服务端详解

    支付宝APP支付服务端详解 前面接了微信支付,相比微信支付,支付宝APP支付提供了支付分装类,下面将实现支付宝APP支付.订单查询.支付结果异步通知.APP支付申请参数说明,以及服务端返回APP端发起 ...

  3. C#版 Winform界面 Socket编程 Client客户端

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. Linux查看系统运行情况

    http://elinux.org/Runtime_Memory_Measurement

  5. Operation not allowed after ResultSet closed--操作mysql数据库

    一个stmt多个rs进行操作.那么从stmt得到的rs1,必须马上操作此rs1后,才能去得到另外的rs2,再对rs2操作.不能互相交替使用,会引起rs已经关闭错误——Operation not all ...

  6. 疑难问题解决备忘录(1)——LAMP环境下WordPress无法发现themes目录下的主题问题解决

    程序猿的宿命就是无穷无尽地解题,虽然可以说是解题的机器,但也无法达到解题之神的境界,碰到自己解决不了的问题那是家常便饭,尤其当遍寻Google和StackOverflow花了九牛二虎之力才解决的问题, ...

  7. WPF menu

    MenuMenu的样式很简单,就是顶部的那个框,如下图 而其中的文字“文件”“图形”...是属于MenuItem的,要灵活使用MenuItem,就需要了解MenuItem.Role的作用 TopLev ...

  8. 搜索引擎Query Rewrite

    中心词抽取项目总结 B2B国际站Query重写.ppt 达观数据搜索引擎的Query自动纠错技术和架构详解 Natural Language Processing Simrank++ Query re ...

  9. browser-sync

    引入 大家写网页的时候,肯定都遇到这种情况,每次用sublime写完都要返回浏览器,刷新页面,而这个工具正好解决了这个问题,提高前端开发效率,这是一个npm的包 browser-sync browse ...

  10. iOS 清除缓存

    iOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒.它包含三个文件夹: Documents: 苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下 ...