<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    caike

    優(yōu)秀是一種習慣,生命是一種過程,兩點之間最短的距離并不一定是直線,只有知道如何停止的人才知道如何加快

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      3 隨筆 :: 2 文章 :: 19 評論 :: 0 Trackbacks

    Jodd是一個開源項目,http://jodd.sourceforge.net有一個好用的jsp標簽,可以大大簡化有表單輸入的controller

     

    使用Jodd的優(yōu)點:

    1. 簡化和統(tǒng)一controller,拋棄extends SimpleFormController,統(tǒng)一使用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:,比如對應(yīng)用戶登錄頁面的

    <%@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;

           }

     

    }

     

    需要注意的地方:

    表單中對應(yīng)的名字namejavaBean里對應(yīng)的屬性名要相同。

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

                  class="input" size="20">

    public class User {

           private String userName;

    .......

     參考:

    http://m.tkk7.com/calvin/archive/2005/08/24/10914.html

     花錢的年華   簡化Spring(4)--View層

    posted on 2005-12-23 09:50 caike 閱讀(3259) 評論(4)  編輯  收藏 所屬分類: SpringFramework

    評論

    # re: 使用jodd form簡化SpringMVC中Controller的配置 2005-12-23 10:05 江南白衣@ITO
    yes,我們一直使用這個form,不過這個東西的一個缺點是對內(nèi)嵌屬性的支持不好,我動手修改了一下,見我的簡化Spring系列--view篇.  回復(fù)  更多評論
      

    # re: 使用jodd form簡化SpringMVC中Controller的配置 2005-12-23 10:23 caike
    呵呵,我當初好像也是從您那看到的,加上你的鏈接了。
    另個有個問題請教一下,有時候用jodd 的BeanUtil.load(user, request);
    load到的屬性會是一個內(nèi)存地址,這個問題你遇到過嗎?最后無奈的用了request.getParameter();
    :-(  回復(fù)  更多評論
      

    # re: 使用jodd form簡化SpringMVC中Controller的配置 2005-12-23 10:42 江南白衣@ITO
    我不用Jodd的BeanUtil啊,改用Apache Commons了.  回復(fù)  更多評論
      

    # re: 使用jodd form簡化SpringMVC中Controller的配置 2006-08-25 13:03 樂樂
    呵呵,我還有一點不明白的地方。所謂的綁定是注重什么地方?是一個編輯動作的時候原來數(shù)據(jù)的填充?還是保存動作頁面數(shù)據(jù)提交到邏輯里面處理?

    如果是后者,完成可以去掉jodd這樣的標簽,功能照樣能實現(xiàn)。

    我寫了代碼,但是運行不通過。并沒有在編輯前填入數(shù)據(jù),我的代碼如下
    控制器
    public class SpringappController implements Controller {

    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    PriceIncrease price = new PriceIncrease();
    price.setPercentage(100 + "");
    ModelAndView mav = new ModelAndView("hello.jsp");
    mav.addObject(price);
    return mav;
    }
    }

    頁面
    <form name="priceIncrease">
    <jodd:form beans="priceIncrease" scopes="request">
    <p><input type="text" name="percentage"/></p>
    <input type="submit" value="change"/>
    </jodd:form>
    </form>  回復(fù)  更多評論
      


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲日韩v无码中文字幕| 又大又硬又爽免费视频| 亚洲另类激情综合偷自拍图| 日韩免费码中文在线观看| 在线观看免费亚洲| 亚洲AV无码成人网站在线观看| 97在线观免费视频观看| 国产成人精品日本亚洲网址| 国产一卡2卡3卡4卡无卡免费视频| 亚洲国产精品成人精品小说| 1区2区3区产品乱码免费| 亚洲免费二区三区| 国产精品久久久久久久久久免费| 中文字幕亚洲综合小综合在线| 成人毛片18女人毛片免费视频未| 亚洲欧美日韩综合俺去了| 免费人成在线观看网站品爱网日本| 午夜亚洲国产精品福利| 亚洲免费视频一区二区三区| 国产男女爽爽爽免费视频| 亚洲国产精品乱码一区二区| 67194成手机免费观看| 中文字幕亚洲综合久久综合| 日本牲交大片免费观看| 国产黄色片免费看| 无码乱人伦一区二区亚洲一| 免费看美女裸露无档网站| 午夜亚洲WWW湿好爽| 伊人久久大香线蕉亚洲| 三年片在线观看免费大全电影| 亚洲女人影院想要爱| 国产美女无遮挡免费网站| 中文在线观看永久免费| 亚洲综合视频在线观看| 国产又大又粗又硬又长免费 | 亚洲成年看片在线观看| A国产一区二区免费入口| 亚洲第一页在线播放| 亚洲狠狠爱综合影院婷婷| 无码av免费一区二区三区试看| 亚洲熟妇丰满xxxxx|