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

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

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

    春風博客

    春天里,百花香...

    導航

    <2008年9月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    統計

    公告

    MAIL: junglesong@gmail.com
    MSN: junglesong_5@hotmail.com

    Locations of visitors to this page

    常用鏈接

    留言簿(11)

    隨筆分類(224)

    隨筆檔案(126)

    個人軟件下載

    我的其它博客

    我的鄰居們

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    Web頁面表單域驗證方式在Struts1.3.8中的使用

    此文是“Web頁面表單域驗證方式的改進”的續篇。

    示例頁面:登錄頁面
    <%@ page contentType="text/html; charset=UTF-8"%>
    <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>登錄頁面--BeyondDiscuz</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" rev="stylesheet" href="web/css/style.css" type="text/css" />
    <script src="web/js/formchecker.js" type="text/javascript"></script>
    <script src="web/js/ajax.js" type="text/javascript"></script>
    </head>

    <body>
        
    <div id="bodyDiv">
            
    <div id="header">
                
    <jsp:include page="/web/page/branch/header.jsp"/>
            
    </div>
            
    <div id="menubar">
                
    <jsp:include page="/web/page/branch/menubar.jsp"/>
            
    </div>
            
    <div id="content">
                
    <!-- 調用通用驗證函數checkForm -->
                
    <html:form action="/Login.do" onsubmit="return checkForm(getCheckArray());">
                
    <table class="block" cellspacing="1" cellpadding="0" bgcolor="#f7f7f7">
                    
    <tr height="30">
                        
    <td colspan="4" bgcolor="#d6e0ef">
                        
    &nbsp;<font face=webdings color=#ff8c00>8</font><b>&nbsp;歡迎登錄BeyondDiscuz論壇</b>
                        
    </td>
                    
    </tr>    
                    
    <tr height="20">
                        
    <td bgcolor="#f7f7f7" width="200" align="right"></td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <div id="msg">
                                
    <logic:present name="msg">
                                    
    <bean:write name="msg"/>
                                
    </logic:present>
                            
    </div>                
                        
    </td> 
                    
    </tr>            
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">用戶名</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                               
    <html:text property="name" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="nameMsg" class="feedbackHide">請填入二到三位的中文用戶名</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">密碼</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:password property="pswd" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="pswdMsg" class="feedbackHide">請填入一到十位的密碼</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right"></td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:submit property="submit" value="登錄論壇" />
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right"></td> 
                        
    <td bgcolor="#f7f7f7" align="left">如無用戶點擊<href='ShowPage.do?page=register'>這里</a>注冊</td> 
                    
    </tr>
                
    </table>
                
    <br/>
                
    </html:form>
            
    </div>        
        
    </div>
        
    <div id="footer">
            
    <jsp:include page="/web/page/branch/footer.jsp"/>
        
    </div>
    </body>
    </html>

    <script LANGUAGE="JavaScript">
    <!--
    /**
    * 取得需要驗證的文本框控件數組
    *
    */

    function getCheckArray(){
        
    var arr=new Array();
        
        arr[
    0]=createToBeCheckedObj("name","nameMsg","[\\u4E00-\\u9FA5]{2,3}","true");
        arr[
    1]=createToBeCheckedObj("pswd","pswdMsg",".{1,10}","true");

        
    return arr;
    }

    //-->
    </script>

    示例頁面:注冊頁面
    <%@ page contentType="text/html; charset=UTF-8"%>

    <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean"%>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>注冊頁面--BeyondDiscuz</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" rev="stylesheet" href="web/css/style.css" type="text/css" />
    <script src="web/js/formchecker.js" type="text/javascript"></script>
    <script src="web/js/ajax.js" type="text/javascript"></script>
    </head>

    <body>
        
    <div id="bodyDiv">
            
    <div id="header">
                
    <jsp:include page="/web/page/branch/header.jsp"/>
            
    </div>
            
    <div id="menubar">
                
    <jsp:include page="/web/page/branch/menubar.jsp"/>
            
    </div>
            
    <div id="content">
                
    <!-- 調用通用驗證函數checkForm -->
                
    <html:form action="/Register.do" onsubmit="return getCheckResult();">
                
    <table class="block" cellspacing="1" cellpadding="0" bgcolor="#f7f7f7">
                    
    <tr height="30">
                        
    <td colspan="4" bgcolor="#d6e0ef">
                        
    &nbsp;<font face=webdings color=#ff8c00>8</font><b>&nbsp;您很快將成為BeyondDiscuz論壇的一員</b>
                        
    </td>
                    
    </tr>    
                    
    <tr height="20">
                        
    <td bgcolor="#f7f7f7" width="200" align="right"></td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <div id="msg">
                                
    <logic:present name="msg">
                                    
    <bean:write name="msg"/>
                                
    </logic:present>            
                            
    </div>            
                        
    </td> 
                    
    </tr>            
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">用戶名</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:text property="name" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="nameMsg" class="feedbackHide">中文很美,請填入二到四位的中文用戶名</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">密碼</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:password property="pswd" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="pswdMsg" class="feedbackHide">請填入一到十位的密碼</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">再次輸入密碼</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:password property="repswd" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="repswdMsg" class="feedbackHide">請填入一到十位的密碼</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right">郵件</td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:text property="email" size="16" maxlength="16"
                                   onfocus
    ="this.style.backgroundColor='#e6e6e6'" 
                                   onblur
    ="this.style.backgroundColor='#ffffff'"/>
                            
    <font color=red>&nbsp;(必填)</font>
                            
    <span id="emailMsg" class="feedbackHide">請填入合法的郵件地址</span>
                        
    </td> 
                    
    </tr>
                    
                    
    <tr height="40">
                        
    <td bgcolor="#f7f7f7" width="200" align="right"></td> 
                        
    <td bgcolor="#f7f7f7" align="left">
                            
    <html:submit property="submit" value="注冊為論壇用戶" />
                        
    </td> 
                    
    </tr>
                
    </table>
                
    <br/>
                
    </html:form>
            
    </div>        
        
    </div>
        
    <div id="footer">
            
    <jsp:include page="/web/page/branch/footer.jsp"/>
        
    </div>
    </body>
    </html>

    <script LANGUAGE="JavaScript">
    <!--

    /**
    * 取得表單的驗證結果
    *
    */

    function getCheckResult(){
        
    if(checkForm(getCheckArray())==true){
            
    var pswd=$("pswd").value;
            
    var repswd=$("repswd").value;
            
            
    if(pswd!=repswd){
                $(
    "msg").innerHTML="兩次密碼必需相等";
                
    return false;
            }

            
            
    return true;
        }

        
    else{
            
    return false;
        }

    }


    /**
    * 取得需要驗證的文本框控件數組
    *
    */

    function getCheckArray(){
        
    var arr=new Array();
        
        arr[
    0]=createToBeCheckedObj("name","nameMsg","[\\u4E00-\\u9FA5]{2,4}","true");
        arr[
    1]=createToBeCheckedObj("pswd","pswdMsg",".{1,10}","true");
        arr[
    2]=createToBeCheckedObj("repswd","repswdMsg",".{1,10}","true");
        arr[
    2]=createToBeCheckedObj("email","emailMsg","\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\.\\w+([-.]\\w+)*","true");

        
    return arr;
    }

    //-->
    </script>

    loginAction
    package com.heyang.action;

    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;

    import com.heyang.action.base.BizBaseAction;
    import com.heyang.domain.User;
    import com.heyang.service.UserService;
    import com.heyang.util.ReqUtil;
    import com.heyang.util.SpringUtil;

    /**
     * 用于用戶登錄的Action
     * 
    @author 何楊(heyang78@gmail.com)
     *
     * 
    @since 2008-8-29 上午09:00:48
     * 
    @version 1.00
     
    */

    public final class LoginAction extends BizBaseAction {
        
    public ActionForward process(ActionMapping mapping, ActionForm form,
                HttpServletRequest request, HttpServletResponse response)
                
    throws Exception {
            request.setCharacterEncoding(
    "UTF-8");
            
            
    // 取得參數
            String name = ReqUtil.getFormProperty("name",form);
            String pswd 
    = ReqUtil.getFormProperty("pswd",form);
                
            
    // 取得Service
            UserService service=SpringUtil.getUserService();        
            
            
    // 取得用戶
            User user=service.getUser(name, pswd);
            request.getSession().setAttribute(
    "user", user);
            
    return new ActionForward("/ShowBlocks.do");
        }

    }

    從頁面取值的輔助類
    package com.heyang.util;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.commons.beanutils.PropertyUtils;
    import org.apache.struts.action.ActionForm;

    /**
     * 用于Request相關處理的實用工具類
     * 
    @author 何楊(heyang78@gmail.com)
     *
     * 
    @since 2008-8-13 上午11:32:49
     * 
    @version 1.00
     
    */

    public final class ReqUtil{
        
    private ReqUtil(){
            
        }

        
        
    /**
         * 從頁面表單中取出字段并轉碼
         * 用于Jsp
         * 
    @param paramName
         * 
    @param request
         * 
    @return
         
    */

        
    public static String getFormParam(String paramName,HttpServletRequest request){
            
    try{
                
                
    return new String(request.getParameter(paramName).getBytes("ISO-8859-1"),"UTF-8");
            }

            
    catch(Exception ex){
                
    return null;
            }

        }

        
        
    /**
         * 從頁面表單中取出字段并轉碼
         * 用于Struts
         * 
    @param paramName
         * 
    @param request
         * 
    @return
         
    */

        
    public static String getFormProperty(String propertyName,ActionForm form){
            
    try{
                String property 
    = (String) PropertyUtils.getSimpleProperty(form, propertyName);
                
    return new String(property.getBytes("ISO-8859-1"),"UTF-8");
            }

            
    catch(Exception ex){
                
    return null;
            }

        }

        
        
    /**
         * 取得轉碼后的字符串,用于解決亂碼問題
         * 
    @param str
         * 
    @return
         
    */

        
    public static String getDecodeStr(String str){
            
    try{
                
    return new String(str.getBytes("ISO-8859-1"),"UTF-8");
            }

            
    catch(Exception ex){
                
    return null;
            }

        }

        
        
        
    /**
         * 取得用戶的IP地址
         * 
    @param request
         * 
    @return
         
    */

        
    public static String getIp(HttpServletRequest request){
            String ip
    =request.getRemoteAddr();
            String originIp
    =request.getHeader("x-forwarded-for");
            
            
    if(originIp==null || originIp.length()==0){
                
    return ip;
            }

            
    else{
                
    return originIp;
            }

        }

        
        
    /**
         * 取得用戶的機器名
         * 
    @param request
         * 
    @return
         
    */

        
    public static String getClientname(HttpServletRequest request){
            
    return request.getRemoteHost();        
        }

    }

    posted on 2008-09-05 21:52 sitinspring 閱讀(1234) 評論(0)  編輯  收藏 所屬分類: Web開發

    sitinspring(http://m.tkk7.com)原創,轉載請注明出處.
    主站蜘蛛池模板: 午夜福利不卡片在线播放免费| 亚洲AV无码精品国产成人| 亚洲成人中文字幕| 亚洲国产精品嫩草影院在线观看| 亚洲中文字幕无码爆乳av中文| 国产一区二区三区在线免费| 在线成人a毛片免费播放 | 亚洲不卡中文字幕| 亚洲伊人久久大香线蕉啊| 亚洲另类古典武侠| 99亚偷拍自图区亚洲| 亚洲性色精品一区二区在线| 亚洲日本久久久午夜精品| 亚洲综合无码一区二区痴汉| 一本色道久久88亚洲精品综合| 亚洲一区二区三区丝袜| 亚洲av成人一区二区三区观看在线| 春暖花开亚洲性无区一区二区| 免费人成视频在线播放| 久久国产精品免费一区二区三区| 三级黄色在线免费观看| 免费高清国产视频| 免费成人激情视频| 精品久久久久久久免费加勒比| 免费大香伊蕉在人线国产| 亚洲一级特黄大片无码毛片| 国产亚洲人成无码网在线观看| 亚洲日本在线观看| 亚洲偷偷自拍高清| 牛牛在线精品观看免费正| 国产在线观看免费视频软件| 免费人成视频在线观看网站| 性做久久久久久免费观看| 国产又黄又爽又刺激的免费网址| 亚洲精品国产精品乱码不卞| 亚洲av无码精品网站| 中文字幕亚洲男人的天堂网络| 免费激情网站国产高清第一页| 日韩视频免费在线观看| 日本免费网址大全在线观看| 国产国产成年年人免费看片|