Springmvcカスタムコンバータ
1761 ワード
bean中
トランスデューサ
せいぎょそうち
jsp
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean" />
<bean id="conversionServiceFactoryBean" class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<ref bean="springMVCConver"/>
</set>
</property>
</bean>
トランスデューサ
@Component
public class SpringMVCConver implements Converter<String, User>{
/**
* id-username-gender-email-birth
*/
@Override
public User convert(String source) {
User user = null;
if(!"".equals(source) && source != null){
String[] target = source.split("-");
if(target!=null && target.length == 4){
user = new User();
user.setId(Integer.parseInt(target[0]));
user.setUsername(target[1]);
user.setGender(Integer.parseInt(target[2]));
user.setEmail(target[3]);
//user.setBirth(birth);
}
}
return user;
}
}
せいぎょそうち
@RequestMapping(value="/testConversionUser" , method = RequestMethod.POST)
public String testConversionUser(@RequestParam("user") User user){
System.out.println(user+"..");
return "success";
}
jsp
<form action="testConversionUser" method="post">
user:<input type="text" name="user" value="[email protected]"/><br><br>
<input type="submit" value="submit"/>
</form>