1. ?简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。
2. ?简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。
3. ?对 bean 没有任何要求,可以使用任意的 bean 做为 formBean。
?
使用方法简介:
?
1?把?jodd.jar?放到?web-inf->lib?下,在?web.xml?里声名标签:
?
< taglib >
< taglib-uri > jodd </ taglib-uri >
< taglib-location > /WEB-INF/lib/jodd.jar </ taglib-location >
</ taglib >
?
?
2?任意的一个?javaBean做为FormBean
?
public class User {
private String userName;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String pwd) {
this .password = pwd;
}
public String getUserName() {
return userName;
}
public void setUserName(String username) {
this .userName = username;
}
}
?
?
3?在?JSP?页面使用?jodd tag:,?比如对应用户登录页面的
?
<% @page import = " caike.User " %>
<% @taglib uri = " jodd " prefix = " jodd " %>
< jodd:form beans ="user" scopes ="session" >
< form action ="my.htm" method ="post" >
< table width ="300" border ="0" cellspacing ="0" cellpadding ="0" align ="center" class ="white" >
< tr >
< td height ="32" align ="right" width ="107" > 用户名: </ td >
< td height ="32" width ="193" >< input type ="text" name ="userName" class ="input" size ="20" > </ td >
</ tr >
< tr >
< td height ="33" align ="right" width ="107" > 密码: </ td >
< td height ="33" width ="193" >< input type ="password" name ="password" class ="input" size ="21" ></ td >
</ tr >
< tr >
< td height ="69" align ="center" colspan ="2" >
< input type ="submit" name ="Submit" value ="登录" >
</ tr >
</ table >
</ form >
</ jodd:form >
?
?
4 Dispatch-servelt.xml?中对?controller?的配置
?
<bean id="myController" class="caike.MyController"> </bean>
不再需要这种方式:
<!--
<bean id="myController" class="caike.MyFormController">
<property name="commandClass" value="caike" />
<property name="formView" value="userForm" />
</bean>
-->
?
?
5?在?controller?中取出?user
?
package caike;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jodd.bean.BeanUtil;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MyController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
User user = new User();
BeanUtil.load(user, request);
System.out.println( " 用户名: " + user.getUserName() + "密码:" + user.getPassword());
return null ;
}
}
?
?
需要注意的地方:
?
表单中对应的名字?name?和?javaBean?里对应的属性名要相同。
?
<input type="text" name="userName" class="input" size="20">
?
public class User {
private String userName;
.......
?
?
原文:http://cgi-bin.iteye.com/blog/2223160