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

商务网站的主要内容网站模板购买

商务网站的主要内容,网站模板购买,湖州市建设培训中心网站,网站开发用什么框架合适目录 请求参数的绑定 当绑定参数是基本数据类型和字符串类型时,要注意: 当绑定参数是实体类型(JavaBean)要注意: 给集合属性数据封装,要注意: 绑定参数是日期类型,如何封装: 代码实例: 实体类1&#…

目录

请求参数的绑定

当绑定参数是基本数据类型和字符串类型时,要注意:

当绑定参数是实体类型(JavaBean)要注意:

给集合属性数据封装,要注意:

绑定参数是日期类型,如何封装:

代码实例:

实体类1:

实体类2:

controller类:

日期自定义类型转换器

springMVC.xml

web.xml

index.jsp

suc.xml


请求参数的绑定

请求参数的绑定要求:提交表单的name和参数的名称是相同的

请求参数支持的数据类型:

  • 基本数据类型和字符串类型
  • 实体类型(JavaBean)
  • 集合数据类型(List、map集合等)

当绑定参数是基本数据类型和字符串类型时,要注意:

  1. 提交表单的name和参数的名称是相同的
  2. 区分大小写

当绑定参数是实体类型(JavaBean)要注意:

  1. 提交表单的name和JavaBean中的属性名称需要一致
  2. 如果一个JavaBean类中包含其他的引用类型,那么表单的name属性需要编写成:对象.属性 例如:address.name

给集合属性数据封装,要注意:

JSP页面编写方式:list[0].属性

绑定参数是日期类型,如何封装:

系统默认格式为:2024/7/18,其他格式系统无法识别

1、要想改变输入日期格式,在实体类相关属性private Date birthday; 上面加注解

@DateTimeFormat(pattern = "yyyy-dd-mm") 指定输入日期的格式

然后在springMVC.xml文件里加上

<!--让映射器、适配器和处理器生效(默认不配置也是可以的)-->
<mvc:annotation-driven conversion-service="conversionService"/>

此时那个注解才能生效

2、自定义类型转换器

第一步:可以实现Converter的接口,实现自定义类型转换器

public class StringToDate implements Converter<String,Date> {/*** 进行类型转换的方法* @param s     用户输入的内容* @return*/
//    @Overridepublic Date convert(String s) {// 判断if(s == null){throw new RuntimeException("请输入内容");}// 进行转换SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");try {// 进行转换return sdf.parse(s);} catch (ParseException e) {throw new RuntimeException(e);}}
}

第二步:在springMVC.xml文件里配置日期类型转换器

<!--配置日期类型转换器,类型转换器的组件,把日期类型转换注入到组件对象中-->
<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><set><bean class="com.qcby.controller.StringToDate" /></set></property>
</bean>

注意在web.xml里面添加过滤器 设置编码,使从前端传递过来的数据经过过滤器,以指定编码显示在后端(解决中文乱码问题)

还要注意:过滤器一定要放在拦截器的前面才能起效果

<!--过滤器,解决中文乱码问题-->
<filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 指定字符集 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param>
</filter>
<filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

代码实例:

下面我们来看代码实例:

实体类1:

public class User {private String username;private String password;private  Car car;//    @DateTimeFormat(pattern = "yyyy-dd-mm")private Date birthday;List<String> list;public User() {}public User(String username, String password, Car car, Date birthday, List<String> list) {this.username = username;this.password = password;this.car = car;this.birthday = birthday;this.list = list;}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 Car getCar() {return car;}public void setCar(Car car) {this.car = car;}public List<String> getList() {return list;}public void setList(List<String> list) {this.list = list;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +", car=" + car +", birthday=" + birthday +", list=" + list +'}';}
}

实体类2:

public class Car {private double money;public Car() {}public Car(double money) {this.money = money;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}@Overridepublic String toString() {return "Car{" +"money=" + money +'}';}
}

controller类:

/*** 控制器类,处理用户的请求*/
// 把当前类交给IOC容器进行管理
@Controller
//@RequestMapping("/hello")  一级
public class HellomvcController {/*** 处理超链接发送出来的请求* @return* 注解的属性  如果是value 可以省略不写  其它不行*/// 配置映射的配置  二级
//    @RequestMapping(path = "/hello.do",method = {RequestMethod.GET},params = "username")@RequestMapping("/hello.do")public String sayHello(){System.out.println("入门方法执行了2...");// 跳转的JSP页面的路径,默认使用的是请求的转发// return "/WEB-INF/pages/suc.jsp";// 配置了视图解析器后,写法return "suc";}/*** 前端传过来的参数过多,用实体类接收* 前提:form表单的name要和实体类的属性名称一致,才能通过实体类属性来获取参数* @param user* @return*/@RequestMapping("/usersave1")public String userSave1(User user){System.out.println(user.getUsername()+":"+user.getPassword());return "suc";}@RequestMapping("/usersave2")public String userSave2(User user){System.out.println(user);return "suc";}
}

日期自定义类型转换器

public class StringToDate implements Converter<String,Date> {/*** 进行类型转换的方法* @param s     用户输入的内容* @return*/
//    @Overridepublic Date convert(String s) {// 判断if(s == null){throw new RuntimeException("请输入内容");}// 进行转换SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd");try {// 进行转换return sdf.parse(s);} catch (ParseException e) {throw new RuntimeException(e);}}
}

springMVC.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--开启注解扫描--><context:component-scan base-package="com.qcby"/><!-- 配置视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property></bean><!--这里对应@DateTimeFormat(pattern = "yyyy-dd-mm")注解--><!--<mvc:annotation-driven/>--><!--配置日期类型转换器,类型转换器的组件,把日期类型转换注入到组件对象中--><bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><set><bean class="com.qcby.controller.StringToDate" /></set></property></bean><!--让映射器、适配器和处理器生效(默认不配置也是可以的)--><mvc:annotation-driven conversion-service="conversionService"/>
</beans>

web.xml

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><!--过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- 指定字符集 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--统一的servlet做拦截--><!--所有的访问请求都会被拦截--><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springMVC.xml</param-value></init-param><!--配置启动加载--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><!--/表示拦截所有请求--><url-pattern>/</url-pattern></servlet-mapping></web-app>

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>首页</title>
</head>
<body>
<%--超链接--%>
​
<h3>入门</h3>
<%--​locahost:8085/hello.do--%>
<h3>演示SpringMVC的前后端交互</h3>
<a href="/hello.do" >入门程序</a><h3>演示SpringMVC请求参数传递,请求参数为基本类型或字符串时</h3>
<form method="post" action="/usersave1">用户名:<input type="text" name="username" id="username"/>密码:<input type="password" name="password"  id="password"/><br/><input type="submit" name="submit" value="提交"/>
</form><h3>演示SpringMVC请求参数传递,请求参数为实体类、集合和日期类型</h3>
<form method="post" action="/usersave2">用户名:<input type="text" name="username" id="username1"/>密码:<input type="password" name="password"  id="password1"/>金额:<input type="text" name="Car.money"  id="money"/>集合:<input type="text" name="list[0]"/>集合:<input type="text" name="list[1]"/>日期:<input type="text" name="birthday" id="birthday"/><br/><input type="submit" name="submit" value="提交"/>
</form>
</body>
</html>

suc.xml

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>成功页面</title>
</head>
<body><h3>入门成功了...</h3>
</body>
</html>

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

相关文章:

  • 河南省 门户网站建设要求福州晋安区建设局网站
  • vi视觉设计手册seo管理系统
  • 黄金网站软件app大全seo需要掌握哪些技术
  • 建站长沙怎么免费装wordpress
  • wordpress 购物导航网站中铁建设集团有限公司门户网登录入口
  • 网站角色权限网络广告设计案例
  • 建立网站时服务器的基本配置有哪些听完米课做的网站
  • 网站建设员课程江苏SEO网站建设
  • 建设网站用什么好建设银行网站网址
  • 网站正能量破解版下载大全安装邢台网约车新政策
  • 网站开发计划和预算开发网站用什么语言
  • 网站搭建技术都有啥wordpress 添加自定义字段
  • 重庆建设空调网站社区网站优化
  • 免费 支付宝购物网站模版西安短视频代运营
  • 订做网站建设行业开发
  • 做网站费用宜兴市建设局官方网站
  • 平台网站推广方案app网站开发工具下载
  • 网站开发专业就业前景深圳网站建设_请到中投网络
  • 公共资源交易中心网站建设汇报o2o模式是什么意思
  • 设计大师网站手机在线设计
  • 常州网站搭建找哪家常州自助建站seo
  • 建网站的步骤和方法wordpress 多语言 模版
  • 推荐一个国外好的网站模板邯郸哪儿做网站便宜
  • 做网站的前端技术外卖平台做网站
  • 如何自建淘宝客网站互联网公司工作内容
  • 天津专业网站建设公司网站建设财务分析
  • 国内美妆博主从哪个网站开始做免费创建自己的网站平台
  • 网站设计标注图怎么做进一步加强网站建设
  • 微信网站搭建教程深圳有名的室内设计公司
  • 企业网站改版计划书sem是什么品牌