Chinaunix首页 | 论坛 | 博客
  • 博客访问: 193190
  • 博文数量: 41
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-03 16:24
文章分类

全部博文(41)

文章存档

2010年(4)

2009年(16)

2008年(21)

我的朋友

分类: Java

2008-10-24 11:28:42

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

阅读(689) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~