0918周四

来源:互联网 发布:淘宝太坑视频女是谁 编辑:程序博客网 时间:2024/05/17 01:29

Jodd是一个开源项目,http://jodd.sourceforge.net有一个好用的jsp标签,可以大大简化有表单输入的controller

 

使用Jodd的优点:

<!--[if !supportLists]-->1. <!--[endif]-->简化和统一controller,抛弃extends SimpleFormController,统一使用implements Controller的方式。

<!--[if !supportLists]-->2. <!--[endif]-->简化JSP页面的bind,不需要一个字段一个字段的绑定。

<!--[if !supportLists]-->3. <!--[endif]-->bean没有任何要求,可以使用任意的bean做为formBean.

 

使用方法简介:

<!--[if !supportLists]-->1.<!--[endif]-->jodd.jar放到web-inf->lib下,在web.xml里声名标签:

<taglib>

       
<taglib-uri>jodd</taglib-uri>

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

    
</taglib>

 

<!--[if !supportLists]-->2.<!--[endif]-->任意的一个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;

       }
 

}

<!--[if !supportLists]-->3.<!--[endif]-->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>

 

<!--[if !supportLists]-->4.<!--[endif]-->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>

    -->

<!--[if !supportLists]-->5.<!--[endif]-->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;

       }

 

}

 

需要注意的地方:

表单中对应的名字namejavaBean里对应的属性名要相同。

<input type="text" name="userName"

              class="input" size="20">

public class User {

       private String userName;

.......

 参考:

http://www.blogjava.net/calvin/archive/2005/08/24/10914.html

原创粉丝点击