8.springmvc包含了web前端和后台等,当在jsp页面传值到前端时,可以通过参数映射。<form id=“itemForm” action="${pageContext.request.contextPath }/items/addItems.action"
a.当请求参数名与action方法中的参数名一致时,就会进行相应的绑定,请求参数的值会自动赋值给action中的参数,如果没有被赋值action中参数的值为null
b.参数映射绑定对象,当映射参数的名字存在部分甚至全部与对象属性名相同,即可对应映射到对象属性中,即映生成一个对象。可用在action中参数是对象、组合类、数组等。
当是组合类时,可映射生成组合类,但jsp中参数名则为属性为对象的属性名.属性名。
@RequestMapping("/addItems")
public String addItems(ArrayClass list) {
System.out.println(list.items);
return “addItems”;
}
9.参数映射传递过程中,如果方法中的参数是基本数据类型,表单传递过来的值不能为null或"",否则出现异常。如果是封装类型则可以,参数值为null;
@RequestMapping("/addItems")
public String addItems(String name,Float price,String detail,String createtime)
10.springmvc的注解配置
springmvc.xml:
<!-- 自动扫描包 -->
<context:component-scan base-package="springmvc"></context:component-scan>
<mvc:annotation-driven conversion-service="conversionservice"/>
<!-- 配置转换器类 -->
<bean id="conversionservice" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<bean class="springmvc.DateConverter" />
</property>
</bean>
<!-- 配置json -->
web.xml的配置同上:
后台控制器:
@org.springframework.stereotype.Controller
@RequestMapping("/items")
public class ItemsController {
@RequestMapping("/addItemsUI")
public String addItemsUI() {
return "addItems";
}
11.ajax与json的交互使用有两种情况:
第一种:ajax传递json字符串到action方法中,需要将json字符串转换为java对象,输出时,需要将java对象转换为json对象,需要通过@RequestBody实现
第一种:ajax传递key/value字符串到action方法中,不需要将json字符串转换为java对象,输出时,需要将java对象转换为json对象,需要通过@RequestBody实现
注意:两种方法中如果涉及到日期的转换,均需要通过注解将日期转换为json类型
@JsonFormat(pattern=“yyyy-MM-dd HH:mm:ss”)
private Date createtime;
@RequestMapping("/add")
public @ResponseBody Items add(@RequestBody Items items) {
return items;
}
@RequestMapping("/add")
public @ResponseBody Items add(Items items) {
return items;
}