caike

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

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

          2005年12月23日 #

          Struts 2.0和Struts以前的版本是完全的不同, 剛開始看起來是一頭的霧水, 暈的很.

          整理了一下網上現有的Struts 2.0的一些視頻教程和電子書:

          視頻教程:
          (比較適合初學者, 講的比較慢, 很細,排名不分先后:-) )
          1.《浪曦 Struts 2應用開發詳解系列視頻2008/2/2更新》
          2.《IT電子教育門戶JAVA培訓之Struts 更新struts2.0》第一版
          3. <2008美河J2EE原創視頻系列課程-Struts2.0> (感謝網友sakura)

          Blog:
          1. Max On Java (感謝網友BeanSoft)

          電子書
          (Struts 2相對來說, 還是比較新, 所以只有英文版的書)

          1. Starting Struts 2

          來自Infoq的一本免費的電子書, 是我看的第一本關于Struts 2.0的書.

          2. Practical Apache Struts 2 Web 2.0 Projects

          這本書更專業一點, 強烈推薦:)
          如果朋友們有更多的資源, 請留言.

          posted @ 2008-02-17 13:57 caike 閱讀(2613) | 評論 (9)編輯 收藏

          在新項目中使用了eXtremeComponents(www.extremecomponents.org)來進行分頁顯示。

          eXtremeComponents在別的頁面都使用正常,分頁,過濾都沒問題。
          偏偏只有一個頁面,查詢完能正常顯示結果,但是一點“下一頁”,查詢的結果就沒了。很是郁悶,看來看去,沒發現這個頁面使用eXtremeComponents和別的頁面有什么不同。
          百思不得其解,最后查看jsp生成的html源代碼,才發現在頁面里有個下拉列表的name="times",然而點了
                                          <select name="times" size="1" id="times">
                                                      
          <option selected value="ALL">
                                                          全部
                                                      
          </option>
                                                      
          <option value="1">
                                                          早場
                                                      
          </option>
                                                      
          <option value="2">
                                                          晚場
                                                      
          </option>
                                                  
          </select>

          下一頁之后,ec把這個列表times的值給弄沒了,所以后臺取不到times,因此查詢不到結果。

          最后把這個下拉列表的name改為times1,一切就OK了。因此可能eXtremeComponents用到times這個屬性,可能是它的保留字,因為沒有看它的源代碼,不敢肯定。總之以后大家遇到類似的問題,注意一下輸入框的name,不要和它沖突。
          posted @ 2006-01-20 11:57 caike 閱讀(1769) | 評論 (5)編輯 收藏

          Jodd是一個開源項目,http://jodd.sourceforge.net有一個好用的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的配置

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

                 }

           

          }

           

          需要注意的地方:

          表單中對應的名字namejavaBean里對應的屬性名要相同。

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

                        class="input" size="20">

          public class User {

                 private String userName;

          .......

           參考:

          http://www.aygfsteel.com/calvin/archive/2005/08/24/10914.html

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

          posted @ 2005-12-23 09:50 caike 閱讀(3268) | 評論 (4)編輯 收藏

          主站蜘蛛池模板: 大丰市| 资溪县| 泰州市| 会昌县| 噶尔县| 龙山县| 新晃| 迭部县| 来安县| 天水市| 巨鹿县| 靖州| 临夏市| 泊头市| 东乌珠穆沁旗| 台东县| 同江市| 宝山区| 长寿区| 河池市| 娄底市| 台江县| 常德市| 安义县| 虎林市| 台安县| 中卫市| 蓝山县| 达拉特旗| 丹东市| 枣庄市| 多伦县| 黔西县| 洛阳市| 明星| 龙岩市| 雷波县| 手游| 奈曼旗| 都昌县| 武平县|