使用Jodd的优点

1.  简化和统一 controller ,抛弃 extends SimpleFormController ,统一使用 implements Controller 的方式。

2.  简化 JSP 页面的 bind, 不需要一个字段一个字段的绑定。

3.  对 bean 没有任何要求,可以使用任意的 bean 做为 formBean

 

使用方法简介:

 

 jodd.jar 放到 web-inf->lib 下,在 web.xml 里声名标签:

 

< taglib >
        < taglib-uri > jodd </ taglib-uri > 
        < taglib-location > /WEB-INF/lib/jodd.jar </ taglib-location > 
 </ taglib > 

 

 

任意的一个 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;
       }
}

 

 

 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>
    -->

 

 

 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;
       .......

 

 

你可能感兴趣的:(jodd)