当前位置: 首页 > news >正文

专业网站设计制作费用哪个网站做系统好

专业网站设计制作费用,哪个网站做系统好,市场营销策略分析案例,代人做网站简单介绍: 在前面我们介绍过如何将我们自己创建的类变成一个servlet来处理用户发送的请求,但是在大多数的时候,我们在请求 的时候会携带一些参数,而我们现在就开始介绍我们如何在Java类中获取我们前端请求中携带的参数。首先&…

简单介绍:

在前面我们介绍过如何将我们自己创建的类变成一个servlet来处理用户发送的请求,但是在大多数的时候,我们在请求 的时候会携带一些参数,而我们现在就开始介绍我们如何在Java类中获取我们前端请求中携带的参数。

首先,我们在Java类中获取浏览器请求中携带的参数的过程就被称为数据绑定,这也是我们数据绑定的基本概念。首先我们来介绍 数据绑定的基本原理: 在SpringMVC数据绑定过程中,SpringMVC框架会通过数据绑定组件(DataBinder)对请求中的参数内容进行类型转换,然后将转换后的 值赋给处理器的形参,这样SpringMVC就完成了客户端请求参数的获取和绑定。 原理很复杂,但是原理越复杂,使用就越是简单。我们只需要知道,从浏览器请求传递的参数会成为我们处理器方法的形参 而对于形参的使用我们就非常熟悉了,下面我们就开始创建一个带参数的方法,并将浏览器发送的请求参数输出在控制台。

使用方法:

简单的数据绑定就是绑定基本的数据类型,笔记int或者String,在数据绑定方面,比较重要的反而不是Java类的编写 因为简单的数据绑定就是使用基本数据类,复杂的数据类型绑定就是使用数据或者Java类,都是一些比较简答的应用 重点在于前端页面的表单的编写。 在简单数据绑定这一节,我们需要注意的是,Java形参的属性名和表单中表单的name属性的值要保持一致,因为这样 才能正确的接收到来自表单提交的值。

然后是复杂数据绑定,复杂数据绑定无非就是,绑在对象上,绑在列表上,绑在集合上,绑在集合的对象上,我们会一一的演示 这样操作是如何在表单中体现的

将数据绑定到类的方法非常简单,只需要我们将处理器方法的形参的参数修改成我们想要将数据绑定的类,这个类中的属性 的属性名和表单中name属性的值保持一致即可。然后我们通过类的get方法获取类的参数,这个参数就是我们请求中携带的参数:

代码实现:

简单数据绑定:

对于简单数据绑定的方法非常简单,我们只需要在页面中创建一个表单,然后提交到控制器类中,在控制器方法中添加参数即可,唯一需要注意的是,控制器类的方法的参数一定要和表单中的<input>标签的name属性的值相同才能自动进行数据绑定

首先我们创建一个表单页面:

<form action="${pageContext.request.contextPath}/DataBinger"><table><tr><td>用户名:</td> <td><label><input type="text" name="username"></label></td></tr><tr><td>密码:</td>  <td><label><input type="password" name="password"></label></td></tr><tr><td> <input type="submit" value="提交"> </td></tr></table>
</form>

然后我们创建一个控制器类和控制器方法:

@RequestMapping("/DataBinger")public String DataBinger(String username , String password){System.out.println("用户名是:"+username);System.out.println("密码是:"+password);return "index";}

 所谓的控制器类的方法的参数一定要和表单中的<input>标签的name属性的值相同才能自动进行数据绑定的意思就是:

完成之后,我们就启动Tomcat测试一下:

 

我们在浏览器中打开我们刚才创建的页面,然后输入值,如果成功完成了数据绑定,那么在我们提交之后,我们会在控制台看到我们输入的值:

 可以看到,控制台确实输出了我们刚才输入的值,这就表示我们顺利完成了简单的数据绑定。 

复杂数据绑定——将参数绑定到类中:

首先我们要对复杂数据绑定的实现流程有一个基本的概念,首先要明确,我们是要将接收到的数据绑定到一个类中,所以我们需要一个类来接收我们的数据:

package SpringMVC.DataBindingAndResponse;public class user {private String username;private String password;@Overridepublic String toString() {return "user{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public user(String username, String password) {this.username = username;this.password = password;}public user() {}
}

准备好存放数据的类之后,我们就要开始测试参数的传递了,传递参数最方便直观的方式就是在JSP页面中创建一个表格进行提交数据,表格的内容如下:

<h1>这是测试复杂数据绑定-绑定对象</h1>
<form action="${pageContext.request.contextPath}/BinderObjrct"><table><tr><td>用户名:</td> <td><label>
<%--注意这里的name的参数要和Java类中的属性名保持一致--%><input type="text" name="username"></label></td></tr><tr><td>密码:</td>  <td><label>
<%--这里也是要和java类中的属性值保持一致--%><input type="password" name="password"></label></td></tr><tr><td> <input type="submit" value="提交"> </td></tr></table>
</form>

准备好了页面内容之后,我们就开始编写控制器类了,之前我们需要在控制器方法的形参中直接写入了参数,这次我们方法的形参改成类:

//    测试复杂数据绑定之将参数绑定到Java类中@RequestMapping("/BinderObjrct")
//    在完成了基本的配置之后,我们可以直接通过将泛型修改成对象的方式获取对象public String DataBingerToProject(user u){System.out.println(u.getUsername());System.out.println(u.getPassword());return "index";}

需要注意的是,这次我们表单中的<input>标签的name属性的值,要和我们存放数据的类的属性保持一致,才能顺利的接收到数据,也就是如下图表示:

 配置好之后,我们就可以来到我们的项目中打开Tomcat开始测试了:

我们在页面的表单中输入我们的值,如果顺利的进行数据绑定之后,我们就可以像之前那样在控制台看到我们输入的值:

 我们依然顺利的看到了我们的值,这就表示我们已经顺利的将页面表单中传递的参数传入到了类中,并可以取出参数进行操作了 

当表单中的属性值和处理器类方法中的参数值不一样的时候:

在开发中,我们的前端开发和后端开发经常是分开的,所以这时候我们就会遇到一些问题,比如前端人员的命名方式和 后端人员的命名方式不一样,导致表单中name的属性和Java类中属性名不一致,这时候又无法修改成一致的状态,导致 无法自动获取表单提交的参数的时候,这时候该怎么办呢? 为了应对这种情况的发生,Spring的提供了@RequestParam,这个注释是我们在使用简单数据绑定的时候 需要写在方法的形参的参数前面即可, 下面我们就来演示一下当表单中的请求参数和Java类中的属性名 不一样的情况。 @RequestParam注解只需要使用一个属性就可以了,就是value属性,value属性就是我们前端的参数名,表示接收哪一个 参数名传递的参数,当属性只有一个value的时候,value关键字可以不写 这是当参数值和属性名不一样的时候才会使用到的,但是在正常的开发中,还是尽量让参数保持一致:

表单中的内容:

<h1>这是测试复杂数据绑定-当表单中的参数名和方法的参数名不一样的时候</h1>
<form action="${pageContext.request.contextPath}/BinderObjrctOrtherParams"><table><tr><td>用户名:</td> <td><label><%--这时候name的值和Java类的值不一样了--%><input type="text" name="username"></label></td></tr><tr><td>密码:</td>  <td><label><%--这里的name的值也不一样了--%><input type="password" name="password"></label></td></tr><tr><td> <input type="submit" value="提交"> </td></tr></table>
</form>

 处理器方法:

//    测试当前端页面的表单的参数值和形参中的属性值不相同的情况@RequestMapping("/BinderObjrctOrtherParams")
//    注意这里的参数,方法的参数和表单中的并不一样,但是我们使用注解,注解中的值就是表单中的参数值public String BinderObjrctOrtherParams(@RequestParam("username")String name,@RequestParam("password") String passwd){
//        这样我们依然可以正常的获取数据System.out.println(name);System.out.println(passwd);return "index";}

我们只需要在处理器方法的形参的参数前面使用 @RequestParam注解,这个注解的值就是表单中input标签的name属性的值,配置完成之后,我们继续打开Tomcat进行测试:

我们在表单中输入我们想要传递的参数,然后点击提交,如果能在控制台上看到我们输入的参数,那么就表示我们的配置是正确的:

 

顺利的看到我们输入的参数,说明我配置的是正确的 

注意点:

需要注意的是,表单中的<input>标签的name属性一定要和Java中的参数的属性名保持一致,如果出现我们的参数传递过去了但是在控制台中没有输出,优先考虑是不是属性值写的不一样导致的,其次就是注意我们的提交路径,要和处理器类方法中的@RequestMapping注解中的值保持一致才能顺利的提交到方法中。

http://www.yayakq.cn/news/742631/

相关文章:

  • 设计本网站怎么样建筑设计怎么学 从零开始
  • 大连网站建设免费网站群 建设 方案
  • 做网站的市场前景做淘宝主页网站
  • 品牌网站建设小8a蝌蚪手机百度网页版入口
  • wordpress网站的优化asp.net mysql 网站开发
  • 专业的营销团队哪里找seo排名规则
  • 现在做网站用什么网站建设制作费用
  • 广安网站建设服务温州专业建站
  • 温州网站建设方案维护法学网站阵地建设
  • 建设网站哪家比较好利于优化的网站模板
  • 建设企业网站步骤外贸型网站的特点
  • 有哪些网站做明星周边新冠目前全国最新情况
  • 建设银行嘉兴分行官方网站广东公共广告20120708
  • 商城网站开发文档哈尔滨关键词排名首页
  • 百度宣传推广网站推广优化外链
  • 张家港英文网站制作wordpress开启ftp
  • 网站建设可研报告西安建设厅网站
  • 政务类网站建设会网站开发维护的ps什么岗位
  • 网站开发项目报告子网站 两微一端的建设方案
  • 网站推广的岗位要求装修网站大全
  • 做淘宝客找商品网站有哪些国家信息公示系统
  • 迁安做网站中的cms开发做盗版电影网站犯法不
  • 企业网站有百度权重说明呼和浩特网络推广公司
  • 灌云网站制作上海专业做网站建设公司
  • 静态网站 模板保定网站制作设计哪个公司好
  • 北京pc端网站开发网上接活做的网站
  • 网络建站培训网页制作报价
  • 网站做点击收费标准网页设计模板html代码软件
  • 用php建设一个简单的网站汽车建设网站开发流程
  • 贵阳seo网站推广技巧网页升级访问最新区域每天自动更新