getparameter()_eclipse如何自动生成get和set方法

getparameter()_eclipse如何自动生成get和set方法以下是一个简单的jsp注册页面,从前端提交的数据<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.g…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

以下是一个简单的jsp注册页面,从前端提交的数据

<%@ 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>注册页面</title>

  </head>

  <body>
    <center>
        <fieldset>
            <legend>注册页面</legend>

        <form name="frm" action="regAction01.jsp" method="post">            <input type="hidden" name="cardNo" value="12345"/>
            <table>
                <tr>
                    <td><label for="userName">请输入用户名:</label></td>
                    <td><input type="text" name="userName" id="userName" value="admin"></td>
                </tr>
                <tr>
                    <td><label for="pwd">请输入密码:</label></td>
                    <td><input type="password" name="pwd" id="pwd"></td>
                </tr>

                <tr>
                    <td><label for="gender">请选择你的性别:</label></td>
                    <td>
                    <!-- 对于单项按钮如果想实现多选一的效果,则控件的name属性值必须相同,表明是同一组。 -->
                    <input type="radio" name="gender" id="male" value="男" checked="checked">
                    <label for="male"></label>
                    <input type="radio" name="gender" id="female" value="女">
                    <label for="female"></label>
                    </td>
                </tr>

                <tr>
                    <td><label for="hobby">请选择你的爱好:</label></td>
                    <td>
                    <!-- 对于复选按钮,要求处于同一组的所有复选按钮的name值相同,这样提供到后台的数据是以字符串数组的形式统一发送的,方便管理 -->
                    <input type="checkbox" name="hobby" id="hobby" value="爬山" >爬山
                    <input type="checkbox" name="hobby" value="打游戏" checked="checked">打游戏
                    <input type="checkbox" name="hobby" value="打篮球" >打篮球
                    <br/>

                    <input type="checkbox" name="hobby" value="唱歌" checked="checked">唱歌
                    <input type="checkbox" name="hobby" value="跳舞" >跳舞
                    <input type="checkbox" name="hobby" value="敲代码" >敲代码

                    </td>
                </tr>

                <tr>
                    <td>请选择你所处的省份:</td>
                    <td>
                    <select name="province">
                        <option value="河北">河北</option>
                        <option value="河南">河南</option>
                        <option value="山东">山东</option>
                        <option value="山西" selected="selected">山西</option>
                        <option value="湖北">湖北</option>
                        <option value="湖南">湖南</option>
                    </select>
                    </td>
                </tr>

                <tr>
                    <td>请选择你喜欢的职业:</td>
                    <td>
                    <!-- multiple="multiple" :使当前选择框变成多项列表框, 按住shift键可以选择连续的选项,按住ctrl键可以选择任意位置的选项 size="5":指定默认情况下显示几项内容 -->
                    <select name="professor" multiple="multiple" size="5">
                        <optgroup label="温柔型职业">
                            <option value="程序员">程序员</option>
                            <option value="歌手">歌手</option>
                            <option value="医生" selected="selected">医生</option>
                            <option value="护士" selected="selected">护士</option>
                            <option value="教师">教师</option>
                        </optgroup>
                        <optgroup label="暴力型职业">
                            <option value="警察" >警察</option>
                            <option value="城管" selected="selected">城管</option>
                            <option value="保镖" >保镖</option>
                        </optgroup>
                    </select>
                    </td>
                </tr>
                <tr>
                    <td><label for="introduct">个人简介:</label></td>
                    <td>
                        <textarea rows="5" cols="20" name="introduct" id="introduct">
                            我是一个程序员,敲代码如同数人民币,感觉帅呆了!
                        </textarea>
                    </td>
                </tr>

                <tr>
                    <td colspan="2" align="center">
                    <input type="submit" value="注册"/>
                    <!-- 重置是将控件的值还原成默认value属性的值 -->
                    <input type="reset" value="重置"/>
                    </td>
                </tr>
            </table>
        </form>
        </fieldset>
    </center>
  </body>
</html>

注册界面运行效果图
这里写图片描述
1.利用getParameter和getParameterValues方式获取数据
为了方便理解,我们新建一个regAction01.jsp页面(regAction01.jsp页面名称对应reg01.jsp中的form表单的action值)从reg01.jsp中获取提交过来的数据

<%@ 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>注册处理页面</title>

  </head>

  <body>


   <% //解决post提交的中文乱码问题 request.setCharacterEncoding("utf-8"); //得到客户端提交过了的值使用JSP隐式对象中的request对象 //注意:这里是getParameter的用法,直接使用Jsp内置的request隐式对象调用getParameter方法。 //这里只讲解第一个String cardNo=request.getParameter("cardNo")其他同理。getParameter("cardNo")中的cardNo与reg01.jsp中name="xxxx"中的值对应,也就是通过cardNo得到reg01.jsp提交过来的与之对应的值,所以reuest.getParameter("cardNo")就等于(<input type="hidden" name="cardNo" value="12345"/>)12345 String cardNo=request.getParameter("cardNo"); String userName=request.getParameter("userName"); String pwd=request.getParameter("pwd"); String gender=request.getParameter("gender"); //由于爱好可以是多个,但使用request.getParameter("hobby")方法只能获取一个值,如果想获取多个值咋办?这里就需要用到getParameterValues() //以下是getParameterValues()的用法,其他类似与多选框的情况同理 String[] hobbies=request.getParameterValues("hobby"); String hobby=Arrays.toString(hobbies); String province = request.getParameter("province"); String[] professors=request.getParameterValues("professor"); String professor=Arrays.toString(professors); String introduct=request.getParameter("introduct"); %>
    <center>
        <table>
            <tr>
                <td>身份证号:</td>
                <td><%=cardNo %></td><!-- <%=cardNo>等同于<% out.print(cardNo);%>-->
            </tr>
            <tr>
                <td>用户名:</td>
                <td><%=userName %></td>
            </tr>
            <tr>
                <td>密码:</td>
                <td><%=pwd %></td>
            </tr>
            <tr>
                <td> 性别:</td>
                <td><%=gender %></td>
            </tr>
            <tr>
                <td>  爱好:</td>
                <td> <%=hobby %></td>
            </tr>
            <tr>
                <td>    省份:</td>
                <td><%=province %></td>
            </tr>
            <tr>
                <td> 职业:</td>
                <td><%=professor %></td>
            </tr>
            <tr>
                <td>  个人简介:</td>
                <td><%=introduct %></td>
            </tr>
        </table>

    </center>
  </body>
</html>

演示结果regAction01.jsp
这里写图片描述
2.利用getParameterNames获取提交过来的数据
这次我们新建一个regAction02.jsp页面,注意与之对应我们只需修改reg01.jsp中的action,让action=”regAction02.jsp”

<%@ 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>注册处理页面</title>

  </head>

  <body>
   <% //解决post提交的中文乱码问题,这行代码必须写在request.getParameter(key)的方法前面,否则无效 request.setCharacterEncoding("utf-8"); //request.getParameterNames():返回客户端所有控件的name属性值组成的枚举器对象 Enumeration<String> enu=request.getParameterNames(); //enu为自定义的枚举对象 while(enu.hasMoreElements()){ //hasMoreElements():如果且仅当这个枚举对象包含至少一个元素返回true,否则返回false String name=enu.nextElement(); //如果这个枚举对象至少有一个元素,那么返回这个枚举的下一个元素,否则抛出异常 //out.println("name="+name); String value=null; //初始化自定义的value if(name.endsWith("*")){ //endsWith():判断前端提交过来的name的值的最后一位是否有"*" ,根据这个特征判断用getparameterValues()还是getparameter() String[] values=request.getParameterValues(name); value=Arrays.toString(values);//这里把数组转换成字符串 }else{ value=request.getParameter(name); } out.println(name+"="+value+"<br/>");//统一打印输出 } %>



  </body>
</html>

演示结果regAction02
这里写图片描述
利用getParameterNames的优点在于,我们不需要关心前端提交的数据如何变幻,我们只需要这么一套处理代码即可应付大多数的情况。

3.getParameterMap方式
同样我们新建regAction03.jsp,同样修改reg02.jsp中的action(action=”r egAction03.jsp”)。

<%@ page language="java" import="java.util.*" import="java.util.Map.Entry" 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>注册处理页面</title>

  </head>

  <body>
   <% //解决post提交的中文乱码问题,这行代码必须写在request.getParameter(key)的方法前面,否则无效 request.setCharacterEncoding("utf-8"); Map<String, String[]> map=request.getParameterMap();//利用getParameterMap()方式获取数据 Set<Entry<String, String[]>> sets=map.entrySet();//entryset:这个map中包含的映射的集合视图,这个知识点不会的请回去复习java知识 for(Entry<String, String[]> entry:sets){ String key= entry.getKey(); //获得键 String[] values=entry.getValue(); //获得值 out.print(key+"="+Arrays.toString(values)+"<br>");//打印输出结果集 } %>



  </body>
</html>

演示结果regAction03
这里写图片描述

具体区别也不是三言两语能讲的清楚明白的,请大家参考代码,结合自己所学的知识会有更好的理解,欢迎各位留言评论!!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196952.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号