樂於JAVA
          幸福人生(J2EE)
          posts - 0,  comments - 5,  trackbacks - 0

          web.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.4"
           xmlns="  xmlns:xsi="  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
              <servlet>
              <servlet-name>action</servlet-name>
              <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
              <init-param>
                <param-name>config</param-name>
                <param-value>/WEB-INF/struts-config.xml</param-value>
              </init-param>
             
              <load-on-startup>1</load-on-startup>
            </servlet>

            <servlet-mapping>
              <servlet-name>action</servlet-name>
              <url-pattern>*.do</url-pattern>
            </servlet-mapping>
           
          </web-app>

           

          struts-config.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "
          <struts-config>

           
            <action-mappings>
               <action path="/pageTest" type="com.gdcn.frame.TestAction">
                <forward name="page111" path="/bb.jsp" />
              </action>
            </action-mappings>
            <!-- 定義本模塊的預處理器-->
            <controller contentType="text/html;charset=utf-8" locale="true" processorClass="com.gdcn.frame.MainRequestProcessor" />
            <!-- 定義本模塊要使用的資源文件,在國際化問題是由為有用-->
            <message-resources parameter="com.gdcn.frame.frame" />
          </struts-config>

          public.js (只用到了一部分)


          function next_focus(text)
          {
           if(window.event.keyCode ==13)
           {
            window.event.keyCode=9;
           }
          }


          function mouseovertd (o)
          {
           o.style.color='#ffffff';
           o.style.backgroundColor='#B3B3B3';

          }
          function mouseouttd (o)
          {
           o.style.color='#000000';
           o.style.backgroundColor='';

          }


          function goPage(flag,currPage,formId,formAction,formTarget,formMethod,pageNumId)
          {
            var formObj=document.all(formId)
             formObj.target=formTarget;
           formObj.method=formMethod;
           if(flag=='go')
           {
            var obj=document.all(pageNumId)
             if(isNaN(obj.value))
               {
                
                   obj.select();
                   return;
               }
            else
            {
             currPage=obj.value
            }
           }

           pageMethod="pageMethod="+flag+"&currentPage="+currPage;
           formAction=formAction+"?"+pageMethod;
           formObj.action=formAction;
           
           formObj.submit();
          }
          function submitForm(formId)
          {
            editModel_fireeagle=false
            var objForm =document.all(formId);
             if(Validator.Validate(objForm,2))
             {
              top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
              objForm.submit();
             }
          }

          function submitFormQuery(formId)
          {

            var objForm =document.all(formId);
            objForm.is_QUERY.value="YES"
            top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
             objForm.submit();

          }


          function buttomOnClick(url,target)
          {
             top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/process.gif' border='0'>"
          if(target=='parent')
             {
              parent.location.href=url
             }else if(target=='self')
             {
                location.href=url
             }
          }

          function changeEditModel()
          {
            editModel_fireeagle=true
          }

          function isClose()
          {
          if(editModel_fireeagle)
            {
              top.bottom.document.all("process").innerHTML="<img name='pro' src='"+baseURL+"/images/public/prosessEnd.gif' border='0'>"
            return exitPro
            }
          }


          //<input type=text name=test value="" onKeypress="JHshNumberText()">
          function JHshNumberText()
          {
            if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
            || (window.event.keyCode == 13) || (window.event.keyCode == 46)
            || (window.event.keyCode == 45)))
            {
              window.event.keyCode = 0 ;
            }
          }

          document.onkeydown = openHelp
          function openHelp()
          {
           if(window.event.keyCode==113)
                  {
                    if(top.main.document.title.indexOf("HELP")>=0)
                    {
                      showModalDialog(baseURL+"/frame/help/"+top.main.document.title);
                    }
                  }

          }

           

          DispartPage.java  (taglib類)

          package com.gdcn.frame;

          import java.io.IOException;

          import javax.servlet.jsp.JspException;
          import javax.servlet.jsp.JspWriter;
          import javax.servlet.jsp.tagext.BodyTagSupport;

          import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;

          public class DispartPage extends BodyTagSupport{
            private String formId;   //表單id
            private String formAction;//處理表單的action
            private String formTarget="_self";//表單出現的窗口,默認為自己窗口里
            private String formMethod="post";//提交表單的方法,默認為post
            private String pageNumId;       //用戶輸入的頁面數控件的id
            private int cols;               //這個標簽要放入table中,他生成一個tr,但里面只有一個td,
            //cols表示這個td要占的列
            //private Object pagerObject = null; //頁面對象
            /*
            public Object getPagerObject() {
                   return pagerObject;
               }

           


               public void setPagerObject(Object value) throws JspException {
                   this.pagerObject = ExpressionEvaluatorManager.evaluate("pagerObject",
                           value.toString(), Object.class, this, pageContext);
               }
               */
           public String getFormAction() {
            return formAction;
           }
           public void setFormAction(String formAction) {
            this.formAction = formAction;
           }
           public String getFormId() {
            return formId;
           }
           public void setFormId(String formId) {
            this.formId = formId;
           }
           public String getFormMethod() {
            return formMethod;
           }
           public void setFormMethod(String formMethod) {
            this.formMethod = formMethod;
           }
           public String getFormTarget() {
            return formTarget;
           }
           public void setFormTarget(String formTarget) {
            this.formTarget = formTarget;
           }
           public String getPageNumId() {
            return pageNumId;
           }
           public void setPageNumId(String pageNumId) {
            this.pageNumId = pageNumId;
           }

             public int doStartTag() {

                   return EVAL_BODY_INCLUDE;
               }

             public int doEndTag() throws JspException {
              //Pager pager = (Pager)this.getPagerObject();
              Pager pager = (Pager)pageContext.getRequest().getAttribute("pager");
              JspWriter out = pageContext.getOut();
                    StringBuffer buf = new StringBuffer();
                    buf.append("<tr  class='ListTableRow' >");
                    buf.append("<td colspan='"+cols+"' >");
                    String disabled="";
                   if(pager.getTotalPages()==1||pager.getCurrentPage()==1)
                       disabled=" disabled='true'";
                    buf.append("<input type='button' name='Submit' value='第一頁'"+disabled+" class='Button3'  onClick=goPage('first',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
                     disabled=" disabled='true' ";
                    if(pager.getTotalPages()>1&&pager.getCurrentPage()!=1)
                       disabled="";
                    buf.append("<input type='button' name='Submit' value='上一頁'"+disabled+" class='Button3'  onClick=goPage('previous',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
                      disabled=" disabled='true'";
                    if(pager.getCurrentPage()<pager.getTotalPages())
                         disabled="";
                    buf.append("<input type='button' name='Submit' value='下一頁'" +disabled+"class='Button3'  onClick=goPage('next',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
                     disabled=" disabled='true'";
                    if(pager.getCurrentPage()!=pager.getTotalPages()&&pager.getTotalPages()!=1)
                         disabled="";
                    buf.append("<input type='button' name='Submit' value='最后一頁'" +disabled+ " class='Button3'  onClick=goPage('last',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
                    buf.append("共<font color='#0000FF'>"+pager.getTotalRows()+"</font>條記錄,每頁<font color='#0000FF'>"+pager.getPageSize()+"</font>條,分為<font color='#0000FF'>"+pager.getTotalPages()+"</font>頁,到");
                     disabled=" disabled='true'";
                    if(pager.getTotalPages()!=1)
                         disabled="";
                    buf.append("<input type='text' name='"+pageNumId+"' "+disabled+" size='4' id='"+pageNumId+"' value='"+pager.getCurrentPage()+"' class='formStyleall'>頁");
                     disabled=" disabled='true'";
                     if(pager.getTotalPages()!=1)
                         disabled="";
                    buf.append("<input type='button' name='Submit' value='跳轉'"+disabled+" class='Button3'  onClick=goPage('go',"+pager.getCurrentPage()+",'"+formId+"','"+formAction+"','"+formTarget+"','"+formMethod+"','"+pageNumId+"')>");
                    buf.append("</td>");
                    buf.append("</tr>");
                    try {
                                        out.println(buf.toString());
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }

                return EVAL_PAGE;
               }

             public void release() {
                   super.release();

               }

           public int getCols() {
            return cols;
           }
           public void setCols(int cols) {
            this.cols = cols;
           }


          }

          gdcn.tld 

          <?xml version="1.0" encoding="UTF-8" ?>
          <!DOCTYPE taglib
            PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
            "
          <taglib>
            <tlibversion>1.0</tlibversion>
            <jspversion>1.1</jspversion>
            <shortname>FireEagle Application Tag Library</shortname>
            <uri>http://</uri>
            <info>廣東精鷹軟件工作室自定義標簽庫 author:劉正仁</info>
            <tag>
              <name>dispartPage</name>
              <tagclass>com.gdcn.frame.DispartPage</tagclass>
              <bodycontent>empty</bodycontent>
              <info>分頁標簽</info>
             
               <attribute>
                <name>formId</name>
                <required>true</required>
                <rtexprvalue>false</rtexprvalue>
              </attribute>

              <attribute>
                <name>formAction</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
              </attribute>

              <attribute>
                <name>formTarget</name>
                <required>false</required>
                <rtexprvalue>false</rtexprvalue>
              </attribute>

               <attribute>
                <name>formMethod</name>
                <required>false</required>
                <rtexprvalue>false</rtexprvalue>
              </attribute>

              <attribute>
                <name>pageNumId</name>
                <required>true</required>
                <rtexprvalue>false</rtexprvalue>
              </attribute>

                <attribute>
                <name>cols</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
              </attribute>
            </tag>
           
          </taglib>

          hibernate.cfg.xml  (使用sql server 自帶數據)

          <?xml version='1.0' encoding='utf-8'?>
          <!DOCTYPE hibernate-configuration
              PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
              "

          <hibernate-configuration>

          <session-factory>

           <property name="connection.username">sa</property>
              <property name="connection.password"></property>
              <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
              <property name="connection.url">jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Northwind;SelectMethod=cursor</property>
              <property name="show_sql">false</property>
              <property name="use_outer_join">true</property>
              <property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
            
           <property name="show_sql">false</property>
           

           <!-- Mapping files -->
           <mapping resource="com/gdcn/frame/Order.hbm.xml" />
          </session-factory>

          </hibernate-configuration>

          FactoryFrameSession.java

          package com.gdcn.frame;

          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Session;
          import net.sf.hibernate.SessionFactory;
          import net.sf.hibernate.Transaction;
          import net.sf.hibernate.cfg.Configuration;

          public class FactoryFrameSession {
           public static SessionFactory sessionFactory;

              static
              { long temp1=System.currentTimeMillis();
            try
            {
               Configuration config = new Configuration().configure();
               sessionFactory = config.buildSessionFactory();
            }
            catch(Exception e){
                              System.out.println("bb1");
                              e.printStackTrace();
                              System.out.println("bb2");
                          }
                          long temp2=System.currentTimeMillis();
             System.out.println(temp2-temp1);
             }

             public  Session  getSession()  {
                Session session =null;
               try {
             session= sessionFactory.openSession();
            } catch (HibernateException e) {
             
            }
                return session;

             }

             public  void closeSession(Session session) {
              try{
               if(session!=null)
                             {
                                 session.close();
                             }
              }catch(Exception e)
              {
                       
                          e.printStackTrace();
                        

             
              }
             }

             public  void rollbackTransaction(Transaction tr)  {
                 try{
                         if(tr!=null)
                                 tr.rollback();
                    }catch(Exception e)
                    {
                         
                    }

             }

             public  void commitTransaction(Transaction tr)  {
                   try{
                           if(tr!=null)
                                   tr.commit();
                      }catch(Exception e)
                      {
                           
                      }

             }

          }

          MainRequestProcessor.java

          package com.gdcn.frame;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          import javax.servlet.http.HttpSession;

          import org.apache.struts.action.RequestProcessor;

          public class MainRequestProcessor extends RequestProcessor{
           protected boolean processPreprocess( HttpServletRequest request, HttpServletResponse response)
           {
              //根據實際業務要求對模范進行預處理
                 boolean continueProcessing = true;
                 System.out.println("fdfsdf");
                 //HttpSession session=request.getSession();
              return continueProcessing;
            }

          }

          frame.properties(這個文件沒有用到)

          TestList.title=\u56fd\u5bb6\u5217\u8868
          country.shortName=\u56fd\u5bb6\u540d\u7b80\u79f0
          country.shortFull=\u56fd\u5bb6\u540d\u5168\u79f0

          errors.login.invalidpassword=\u65e0\u6548\u5bc6\u7801
          errors.login.nosuchuser=\u6b64\u7528\u6237\u4e0d\u5b58\u5728
          errors.RecordAlreadyExist=\u5f53\u524d\u8bb0\u5f55\u4ee5\u5b58\u5728\uff0c\u8bf7\u68c0\u67e5
          errors.RecordNotFound=\u5f53\u524d\u8bb0\u5f55\u4e0d\u5b58\u5728\u6216\u4ee5\u5220\u9664\uff0c\u60a8\u53ef\u4ee5\u5728\u5f53\u524d\u9875\u9762\u8fdb\u884c\u65b0\u589e
          public.sequence.number=\u5e8f\u53f7
          public.operate=\u5e8f\u53f7
          public.edit=\u4fee\u6539
          public.add=\u65b0\u589e
          public.del=\u5220\u9664
          public.save=\u4fdd\u5b58
          exitPro=\u5f53\u524d\u9875\u9762\u6570\u636e\u5df2\u4fee\u6539\uff0c\u5982\u679c\u9000\u51fa\uff0c\u4fee\u6539\u7684\u6570\u636e\u5c06\u4e22\u5931\uff01
          pageNum=\u8bf7\u8f93\u5165\u6570\u5b57\uff01

          IConstants.java

          package com.gdcn.frame;

          public class IConstants {
           
           public final static String LOGIN_USER_KEY = "USER"; //當前用戶的key
           public final static String FRAME_KEY = "FRAME";    
           public final static String FRAME_MODIFY_FLAG="modifyFlag";   //
           public final static String FRAME_MODIFY_FLAG_ADD="add";
           public final static String FRAME_MODIFY_FLAG_EDIT="edit";
           public final static String FRAME_MODIFY_FLAG_VIEW="view";
           public final static String FRAME_OBJECT_VO="objectVo";
           public final static String FRAME_SAVE_FLAG="save_flag";
           public final static String FRAME_SAVE_OK="ok";
           public final static String FRAME_IS_FROM_SCREEN="no";
           public final static int PAGE_NUMBER_800=12;
           public final static int PAGE_NUMBER_1024=20;
           public final static int PAGE_NUMBER=12;

          }

          Order.java

          package com.gdcn.frame;

          import java.sql.Date;

          public class Order {
           
           private Long orderID;
           private int customerID;//本要配為多對一關系統,本測試沒有配
           private int employeeID;
           private Date orderDate;
           private Date requiredDate;
           private Date shippedDate;
           private int shipVia;
           private float freight;
           private String shipName;
           private String shipAddress;
           private String shipCity;
           private String shipRegion;
           private String shipPostalCode;
           private String shipCountry;
           public int getCustomerID() {
            return customerID;
           }
           public void setCustomerID(int customerID) {
            this.customerID = customerID;
           }
           public int getEmployeeID() {
            return employeeID;
           }
           public void setEmployeeID(int employeeID) {
            this.employeeID = employeeID;
           }
           public float getFreight() {
            return freight;
           }
           public void setFreight(float freight) {
            this.freight = freight;
           }
           public Date getOrderDate() {
            return orderDate;
           }
           public void setOrderDate(Date orderDate) {
            this.orderDate = orderDate;
           }
           public Long getOrderID() {
            return orderID;
           }
           public void setOrderID(Long orderID) {
            this.orderID = orderID;
           }
           public Date getRequiredDate() {
            return requiredDate;
           }
           public void setRequiredDate(Date requiredDate) {
            this.requiredDate = requiredDate;
           }
           public String getShipAddress() {
            return shipAddress;
           }
           public void setShipAddress(String shipAddress) {
            this.shipAddress = shipAddress;
           }
           public String getShipCity() {
            return shipCity;
           }
           public void setShipCity(String shipCity) {
            this.shipCity = shipCity;
           }
           public String getShipCountry() {
            return shipCountry;
           }
           public void setShipCountry(String shipCountry) {
            this.shipCountry = shipCountry;
           }
           public String getShipName() {
            return shipName;
           }
           public void setShipName(String shipName) {
            this.shipName = shipName;
           }
           public Date getShippedDate() {
            return shippedDate;
           }
           public void setShippedDate(Date shippedDate) {
            this.shippedDate = shippedDate;
           }
           public String getShipPostalCode() {
            return shipPostalCode;
           }
           public void setShipPostalCode(String shipPostalCode) {
            this.shipPostalCode = shipPostalCode;
           }
           public String getShipRegion() {
            return shipRegion;
           }
           public void setShipRegion(String shipRegion) {
            this.shipRegion = shipRegion;
           }
           public int getShipVia() {
            return shipVia;
           }
           public void setShipVia(int shipVia) {
            this.shipVia = shipVia;
           }
           
           //本應實現equals,toString,和hashCode方法.
           //本測試沒有使用

          }

          Order.hbm.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE hibernate-mapping
              PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
           "

          <hibernate-mapping>
           <class name="com.gdcn.frame.Order" table="Orders">
            <id name="orderID" type="long" unsaved-value="null" column="orderID">
                      <generator class="identity"/>
                  </id>

               

             <property name="freight" type="float">
                        <column name="freight" />
                  </property>

                   <property name="shipName" type="string">
                        <column name="shipName" />
                  </property>
                 
                   <property name="shipAddress" type="string">
                        <column name="shipAddress" />
                  </property>
                 
                   <property name="shipCity" type="string">
                        <column name="shipCity" />
                  </property>
                 
                   <property name="shipRegion" type="string">
                        <column name="shipRegion" />
                  </property>
                 
                   <property name="shipPostalCode" type="string">
                        <column name="shipPostalCode" />
                  </property>

                  <property name="shipCountry" type="string">
                        <column name="shipCountry" />
                  </property>
               
              </class>

          </hibernate-mapping>

          Pager.java

          package com.gdcn.frame;

          public class Pager {
           
           private int totalRows; //總條數據
           private int pageSize=IConstants.PAGE_NUMBER;//默認頁面條數據
           private int currentPage;//當前頁
           private int totalPages;//總共頁數
           private int startRow; //從數據中取的開始條數據
           public Pager(){}
           public Pager(int _pageSize,int _totalRows)
           {
                         if(_pageSize!=0)
                               pageSize=_pageSize;
            totalRows=_totalRows;
            totalPages=totalRows/pageSize;
            int mod=totalRows%pageSize;
            if(mod>0)
            {
             totalPages++;
            }
            currentPage=1;
            startRow=0;
           }

           public void first()
           {
            currentPage=1;
            startRow=0;
           }

           public void previous()
           {
            if(currentPage==1)
            {
             return;
            }
            currentPage--;
            startRow=(currentPage-1)*pageSize;
           }

           public void next()
           {
            if(currentPage<totalPages)
            {
             currentPage++;
            }
            startRow=(currentPage-1)*pageSize;
           }

           public void last()
           {
            currentPage=totalPages;
            startRow=(currentPage-1)*pageSize;
           }

           public void refresh(int _currentPage)
           {
            currentPage=_currentPage;
            if(currentPage>totalPages)
            {
             last();
            }
            if(currentPage<=0)
            {
             first();
            }
           }

           public void go(int _currentPage)
           {
             refresh( _currentPage);
             startRow=(currentPage-1)*pageSize;
           }
           public int getCurrentPage() {
            return currentPage;
           }
           public void setCurrentPage(int currentPage) {
            this.currentPage = currentPage;
           }
           public int getPageSize() {
            return pageSize;
           }
           public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
           }
           public int getStartRow() {
            return startRow;
           }
           public void setStartRow(int startRow) {
            this.startRow = startRow;
           }
           public int getTotalPages() {
            return totalPages;
           }
           public void setTotalPages(int totalPages) {
            this.totalPages = totalPages;
           }
           public int getTotalRows() {
            return totalRows;
           }
           public void setTotalRows(int totalRows) {
            this.totalRows = totalRows;
           }

          }

          PagerHelper.java

          package com.gdcn.frame;

          import javax.servlet.http.HttpServletRequest;

          public class PagerHelper {
           
           public static Pager getPager(HttpServletRequest request,int totalRows)
           {
                    Integer objInt=null;
                    //注意,這里有一個擴展,那就是頁面的條數據可以由用戶在頁面中自己定義.
                    //那么可以用rquest.getParameter("pageNumber")
                    //要使組件能使用,pageNumber要與開發人員約定好.
                    if(IConstants.FRAME_IS_FROM_SCREEN.equalsIgnoreCase("yes"))
                    {
                     //在登陸action中要設定screen的條數據
                     //也可以是記錄當前用戶的屏幕分辯率,然后再從IConstants或配置文件中去取中去取
                     objInt=(Integer)request.getSession().getAttribute("screen");
                    }
                    else
                    {
                     objInt=new Integer(IConstants.PAGE_NUMBER);
                    }
                          int pageSize=0;
                          if(objInt!=null)
                              pageSize=objInt.intValue();
            Pager pager=new Pager(pageSize,totalRows);
            //當前頁currentPage是由我們的taglib中定義的,他相當于頁面的一個關鍵字,就是說在頁面上
            //不要定義與currentPage相同名字的控件
            String currentPage=request.getParameter("currentPage");
            if(currentPage==null||currentPage.equals(""))
            {
             currentPage="1";
            }
            if(currentPage!=null)
            {
             pager.refresh(Integer.parseInt(currentPage));
            }

            //當前頁pageMethod是由我們的taglib中定義的,他相當于頁面的一個關鍵字,就是說在頁面上
            //不要定義與pageMethod相同名字的控件
            String pagerMethod=request.getParameter("pageMethod");
            if(pagerMethod!=null)
            {
             if(pagerMethod.equalsIgnoreCase("first"))
              pager.first();
             else if(pagerMethod.equalsIgnoreCase("previous"))
              pager.previous();
             else if(pagerMethod.equalsIgnoreCase("next"))
              pager.next();
             else if(pagerMethod.equalsIgnoreCase("last"))
              pager.last();
             else if(pagerMethod.equalsIgnoreCase("go"))
              pager.go(Integer.parseInt(currentPage));
            }

            return pager;
           }

          }

          TestAction.java

          package com.gdcn.frame;

          import java.util.List;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          import org.apache.struts.action.ActionForm;
          import org.apache.struts.action.ActionForward;
          import org.apache.struts.action.ActionMapping;

          public class TestAction extends org.apache.struts.action.Action{
           
           public static final String FORWARD_CodeTypeList = "page111";
              public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
              {
                 TestDAO test=new TestDAO();
                
                  int rowsCodeType=test.getRows();
                  Pager pager=PagerHelper.getPager(request,rowsCodeType);
                 
                  List pageTest=test.findObjectWithPage(pager.getPageSize(),pager.getStartRow());
                  System.out.println("hfghfgh====="+pageTest);
                  request.setAttribute("page",pageTest);
                  request.setAttribute("pager",pager);
                  return mapping.findForward(FORWARD_CodeTypeList);
              }


          }

          TestDAO.java

          package com.gdcn.frame;

          import java.util.ArrayList;
          import java.util.List;

          import net.sf.hibernate.HibernateException;
          import net.sf.hibernate.Query;
          import net.sf.hibernate.Session;
          import net.sf.hibernate.Transaction;

          public class TestDAO {
           public int getRows()  {

                 String sql = "from Order as o";
                 FactoryFrameSession factoryFrameSession=new FactoryFrameSession();
                 Session session=null;
                 Transaction tx = null;
                 Query query=null;
                 List l=null;
            try {
             session=factoryFrameSession.getSession();
             tx = session.beginTransaction();
             query = session.createQuery(sql);
             tx.commit();
             l = query.list();
             if (l == null || l.isEmpty()) {
                      return 0;
              }
            } catch (HibernateException e) {
                factoryFrameSession.rollbackTransaction(tx);
              e.printStackTrace();
            }
            finally
            {
             factoryFrameSession.closeSession(session);
            }
             
                
                 return l.size();
             }

             public List findObjectWithPage(int pageSize, int startRow)  {
                   FactoryFrameSession factoryFrameSession=new FactoryFrameSession();
                 
                   List returnValue = new ArrayList();
                   Session session = null;
                   Transaction tx = null;
                   try {
                       session = factoryFrameSession.getSession();
                       tx = session.beginTransaction();
                       String query="from Order o where 1=1";
                       Query q = session.createQuery(query);
                       q.setFirstResult(startRow);
                       q.setMaxResults(pageSize);
                       returnValue = q.list();
                       tx.commit();
                    

                   } catch (HibernateException ex) {
                       factoryFrameSession.rollbackTransaction(tx);
                      
                   } finally {
                       factoryFrameSession.closeSession(session);
                   }
                   return returnValue;
               }

          }

          bb.jsp

          <%@ page contentType="text/html; charset=utf-8" language="java"%>
          <!--引入系統中要用的類-->
          <
          %@page import="java.util.*"%>
          <%@page import="com.gdcn.frame.Order"%>
          <%@taglib uri="/WEB-INF/gdcn.tld" prefix="gdcn"%>
          <html>

          <head>
          <link href="<%=request.getContextPath()%>/main.css" rel="stylesheet" type="text/css">
          <script type="text/javascript" src="<%=request.getContextPath()%>/public.js"></script>
          <title>codeType_HELP_000002.htm</title>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          </head>
          <body >
           <form action="<%=request.getContextPath()%>/pageTest.do" method="post" name="codeTypeList" id="codeTypeList">
            <% String tableStyle="width=\"100%\"  border=\"1\" cellSpacing=\"0\" cellpadding=\"3\"   bordercolorlight=\"#E2D7CF\" bordercolordark=\"#FAF8F6\"";
           
            %>
            <table  <%=tableStyle%>>
             
              <tr class="ListTableHeader">
                <td colspan="7" ><div align="center"><strong>分頁示例</strong></div></td>
              </tr>
             
            
            </table>
             <table <%=tableStyle%> id="codeTypeTable">
            

           <%
           List pages=(List)request.getAttribute("page");
           System.out.println("pages==="+pages);
           if(pages!=null&&!pages.isEmpty())
           {
            for(int i=0;i<pages.size();i++)
            {
                        
             Order order=(Order)pages.get(i);
             System.out.println(order.getShipAddress());

           %>
            <tr  class=ListTableRow >
                <td width="50%" >(<%=i+1%>)</td>
                <td width="50%" ><%=order.getShipAddress()%></td>
               
               
           </tr>

           <%}
           }

           String action=request.getContextPath()+"/pageTest.do";
           
           %>
              <gdcn:dispartPage formId="codeTypeList" formAction="<%=action%>" pageNumId="pageNum" cols="2"/>

          </table>
          </form>

          </body>
          </html>


          main.css

          a:link{font-family: "Arial"; color:#000000;text-decoration:underline}
          a:visited{font-family: "Arial"; color:#000000;text-decoration:underline}
          a:hover{font-family: "Arial"; color:#000000;text-decoration:none}
          a:active{font-family: "Arial";color:#000000;text-decoration:underline}
          BODY{
           background-color:#FAF8F6 ;
           margin:0 0 0 0 ;
           font-family: "Arial";
           font-size:12px ;
           SCROLLBAR-FACE-COLOR: #f6f6f6; SCROLLBAR-HIGHLIGHT-COLOR: #ffffff; SCROLLBAR-SHADOW-COLOR: #cccccc; SCROLLBAR-3DLIGHT-COLOR: #cccccc; SCROLLBAR-ARROW-COLOR: #330000; SCROLLBAR-TRACK-COLOR: #f6f6f6; SCROLLBAR-DARKSHADOW-COLOR: #ffffff;
          }

          td{
           line-height:12px ;
           font-family: "Arial";
           font-size:12px ;
          }


          .Button2{
           border:1px buttonhighlight outset;
           background-image:url(../images/ButtonBg.gif);
           height:18px ;
           width:40px ;
           padding-top:0px ;
           color:#000099 ;
           font-family: "Arial";
           font-size:10px;
          }
          .Button3{
           border:1px buttonhighlight outset;
           background-image:url(../images/ButtonBg.gif);
           height:22px ;
           width:60px ;
           padding-top:2px ;
           color:#000099 ;
           font-family: "Arial";
           font-size:12px;
          }
          .Button4{
           border:1px buttonhighlight outset;
           background-image:url(../images/ButtonBg.gif);
           height:22px ;
           width:80px ;
           padding-top:2px ;
           color:#000099 ;
           font-family: "Arial";
           font-size:12px;
          }
          .Button5{
           border:1px buttonhighlight outset;
           background-image:url(../images/ButtonBg.gif);
           height:22px ;
           width:100px ;
           padding-top:2px ;
           color:#000099 ;
           font-family: "Arial";
           font-size:12px;
          }
          .Button6{
           border:1px buttonhighlight outset;
           background-image:url(../images/ButtonBg.gif);
           height:22px ;
           width:120px ;
           padding-top:2px ;
           color:#000099 ;
           font-family: "Arial";
           font-size:12px;
          }
          .ListTableHeader{
           background-image:url(../images/ButtonBg.gif) ;
           height:22px ;
           font-family: "Arial";
           font-size:12px ;
          }

          .ListTableRow{
           height:12px ;
           background-color:#FAF8F6 ;
           color:#000000 ;
           font-family: "Arial";
           margin:0 0 0 0;
           font-size:12px ;
          }
          .Row1{
           height:22px ;
           background-color:#e8e8e8 ;
           color:#000000 ;
           font-family: "Arial";
           margin:0 0 0 0;
           font-size:12px ;
           cursor:hand ;
          }
          .Row2{
           height:22px ;
           background-color:#ffffff ;
           color:#000000 ;
           font-family: "Arial";
           margin:0 0 0 0;
           font-size:12px ;
           cursor:hand ;
          }

          .Row{
           height:10px ;
           background-color:#ffffff ;
           color:#000000 ;
           font-family: "Arial";
           margin:0 0 0 0;
           font-size:12px ;
           cursor:hand ;
          }
          .formStyleall {
           BORDER-RIGHT: #7f7f7f 1px solid; BORDER-TOP: #7f7f7f 1px solid; FONT: 11px Verdana, Arial, Helvetica, sans-serif; BORDER-LEFT: #7f7f7f 1px solid; COLOR: #2f3f5f; BORDER-BOTTOM: #7f7f7f 1px solid; BACKGROUND-COLOR: #ffffff
          }
          .sort-arrow.descending {
           background-image:  url("../images/public/down.gif");

          }

          .sort-arrow.ascending {
           background-image:  url("../images/public/up.gif");
          }

          posted on 2008-01-24 13:58 李建軍 閱讀(319) 評論(0)  編輯  收藏 所屬分類: struts

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(1)

          文章分類

          文章檔案

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 徐汇区| 康乐县| 昌黎县| 新密市| 唐河县| 黄大仙区| 长岛县| 从化市| 宾川县| 伊宁市| 报价| 东海县| 鹤峰县| 钟祥市| 诏安县| 台前县| 绩溪县| 彩票| 遂川县| 博野县| 织金县| 普陀区| 花莲县| 井冈山市| 林西县| 纳雍县| 集安市| 通江县| 巢湖市| 那曲县| 松江区| 鹤峰县| 隆子县| 庐江县| 南雄市| 宁远县| 隆德县| 景泰县| 嘉义市| 临夏市| 海原县|