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>");
    }

  

时间: 2024-10-11 12:36:01

JavaWeb表单数据的获取方式的相关文章

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

strus2中获取表单数据 两种方式 属性驱动 和模型驱动 属性驱动 /** * 当前请求的action在栈顶,ss是栈顶的元素,所以可以利用setValue方法赋值* 如果一个属性在对象栈,在页面上可以根据name属性进行回显*/ /** * 属性驱动实现的条件:* 1.当前请求的action在栈顶,所以action中的属性就暴漏出来了* 2.获取页面上表单的元素,整合成一个map * 3.调用setValue方法赋值*/ 1 package cn.itcast.struts2.sh; 2 3

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

首先使用一个用户提交界面作为举例(文本框,密码框,选择,下拉表单等),效果如下 注:HTML < form> 标签的 action 属性,其定义和用法是: 属性值为URL,表示向何处发送表单数据.其可能值: 绝对 URL - 指向其他站点(比如 src=https://blog.csdn.net/Megustas_JJC/article/details/"www.example.com/example.htm") 相对 URL - 指向站点内的文件(比如 src=https

针对jquery获取表单数据并且迭代方式

function add(){ $("select option:selected").each(function(index){ var name = $(this).text(); console.log(name); }) $("select").each(function(index){ var namekey = $(this).val(); console.log(namekey); }) $("input[name='nodeForm.nam

表单元素值获取方式js及java方式

大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于checkbox或者radio或者select我们如何用javascript获取和在服务器中获取提交过来的参数呢?多说无用.上代码: Jsp-html代码: <form action="input.do" name="formkk"> <table>

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

首先在web.xml 里面配置一个编码过滤器 1 <!-- springmvc框架本身没有处理请求编码,我们自己配置一个请求编码过滤器 --> 2 <filter> 3 <filter-name>encodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <

复杂表单数据的获取

表单基本样式如下: 表单的院士基本情况可以不断新增. 院士基本情况的部分HTML代码(多份院士基本情况是在这个基础之上append的) : <div style="text-align: left" class="add_academician_elem"> <div class="" style="width: 100%;font-size: 22px;text-align: center;"> 当前

jquery ajax提交表单数据的两种方式

jquery ajax提交表单数据的两种方式

Struts2表单数据接收方式

1.将Action类作为一个POJO,直接进行接收 在Action类内部定义字段名称,并为之声明get/set方法.页面表单name属性与定义字段名称相同. package com.common.login; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class LoginAction extends ActionSupport{ private String n

django获取单表数据的三种方式

django获取单表数据的三种方式 v1 = models.Business.objects.all() # QuerySet ,内部元素都是对象 v2 = models.Business.objects.all().values('id','caption') # QuerySet ,内部元素都是字典 v3 = models.Business.objects.all().values_list('id','caption') # QuerySet ,内部元素都是元组 def business(