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

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

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

    caike

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

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

    Jodd是一個(gè)開源項(xiàng)目,http://jodd.sourceforge.net有一個(gè)好用的jsp標(biāo)簽,可以大大簡(jiǎn)化有表單輸入的controller

     

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

    1. 簡(jiǎn)化和統(tǒng)一controller,拋棄extends SimpleFormController,統(tǒng)一使用implements Controller的方式。

    2. 簡(jiǎn)化JSP頁(yè)面的bind,不需要一個(gè)字段一個(gè)字段的綁定。

    3. 對(duì)bean沒有任何要求,可以使用任意的bean做為formBean.

     

    使用方法簡(jiǎn)介:

    1.jodd.jar放到web-inf->lib下,在web.xml里聲名標(biāo)簽:

    <taglib>

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

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

        
    </taglib>

     

    2.任意的一個(gè)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頁(yè)面使用jodd tag:,比如對(duì)應(yīng)用戶登錄頁(yè)面的

    <%@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中對(duì)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;

           }

     

    }

     

    需要注意的地方:

    表單中對(duì)應(yīng)的名字namejavaBean里對(duì)應(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

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

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

    評(píng)論

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

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

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

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

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

    我寫了代碼,但是運(yùn)行不通過(guò)。并沒有在編輯前填入數(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;
    }
    }

    頁(yè)面
    <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ù)  更多評(píng)論
      


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产精品成人久久| 免费一级毛片在线播放视频免费观看永久 | 亚洲一区二区三区在线观看蜜桃| 久久精品国产精品亚洲下载 | 亚洲s码欧洲m码吹潮| 蜜芽亚洲av无码精品色午夜| 亚洲高清最新av网站| 毛片基地免费观看| 每天更新的免费av片在线观看| 国产免费一区二区视频| 成人免费网站视频www| 亚洲成a人片在线观看天堂无码| 亚洲精品国产电影午夜| 午夜亚洲AV日韩AV无码大全| 亚洲AV无码AV吞精久久| 亚洲成人免费在线观看| 亚洲国产日韩一区高清在线| 亚洲精品中文字幕乱码三区| 亚洲午夜无码AV毛片久久| 又粗又黄又猛又爽大片免费 | 亚洲国产成人久久99精品| 亚洲成av人影院| 久久久青草青青亚洲国产免观| 久久99亚洲综合精品首页| 亚洲中文字幕无码爆乳av中文| 免费一级毛片在线观看| 日本不卡在线观看免费v| 日韩电影免费在线观看网站| 有色视频在线观看免费高清在线直播| 久久亚洲精品11p| 性色av极品无码专区亚洲 | 国产精品久免费的黄网站| 成人免费视频软件网站| 免费看又爽又黄禁片视频1000| 成年男女免费视频网站| 日韩成全视频观看免费观看高清| 国产精品免费观看久久| 免费看片A级毛片免费看| 午夜亚洲福利在线老司机| 亚洲精品成人片在线观看| 亚洲中文字幕无码一区|