Jodd 是一个开源项目, , 有一个好用的 jsp 标签,可以大大简化有表单输入的 controller 。
使用 Jodd 的优点:
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
package caike;
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的配置
不再需要这种方式:
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 里对应的属性名要相同。
name="userName"
class="input" size="20">
public class User {
private String userName;
.......
参考:
http://www.blogjava.net/calvin/archive/2005/08/24/10914.html