Online Training Spring Hibernate Training in Delhi R Programming Training Course Big Data and Hadoop Training Java Training  
 

Struts Login Validation. In This code setter of login page is called only one time again it doesnt call it. Why..?

Ads

 
 

Share on Google+Share on Google+

Rahul Shivhare
Struts Login Validation. In This code setter of login page is called only one time again it doesnt call it. Why..?
1 Answer(s)      4 years and 10 months ago
Posted in : Struts
**struts.xml**

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />
    <constant name="struts.convention.result.path" value="/pages" />
    <constant name="struts.convention.action.packages" value="com.icici.recon" />
    <constant name="struts.custom.i18n.resources" value="global" />

    <package name="default" extends="struts-default, json-default" namespace="/">
        <action name="index" class="com.credentek.recon.sms.action.IndexAction">
            <result>/pages/index.jsp</result>
        </action>

        <action name="indexLogin" class="com.credentek.recon.sms.action.IndexAction" method="login">
            <result>/pages/sms/login.jsp</result>
        </action>

        <action name="login" class="com.credentek.recon.sms.action.LoginAction">
            <result >/pages/sms/login.jsp</result>
        </action>

        <action name="showmenu" class="com.credentek.recon.sms.action.LoginAction" method="showmenu">
            <result name="success">pages/menu/menu.jsp</result>
            <result name="error">pages/menu/blank1.jsp</result>
        </action>

    </package>
</struts>



**LoginAction.java**

package com.credentek.recon.sms.action;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.SessionAware;
import com.credentek.recon.sms.dao.LoginDAO;
import com.credentek.recon.sms.dao.LoginDAOImpl;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport implements SessionAware {

    private static final long serialVersionUID = -8841529855335717596L;

    private final Logger log = Logger.getLogger(LoginAction.class);

    private Map<String, Object> session;
    private String userID;

    private String welcomeDetails;
    private String loginDetails;

    private boolean implementationStatus;

    private String subSystem;


    private LoginDAOImpl loginDAO = new LoginDAOImpl();


    public String execute() {

        log.info("Loading login page...");

        log.info("Login page loaded successfully.");

        return SUCCESS;
    }

    public String showmenu() {

        log.info("showmenu ");
System.out.println("show menu....");
        if(userID.equalsIgnoreCase("") || userID == null){
            System.out.println("no user ID.....");
            return ERROR;
        }
        System.out.println("USER ID.....");
        HttpServletRequest request = (HttpServletRequest) ActionContext
        .getContext().get(ServletActionContext.HTTP_REQUEST); 

        log.info("Validating login information...");

        String dateFormat = loginDAO.getDateFormat();
        if(!"".equals(dateFormat)) {
            session.put("dateFormat", dateFormat);
            log.info("Date Format set to " + dateFormat);
        } else {
            session.put("dateFormat", "dd/MM/yyyy");
            log.error("Date Format is not set properly, please set dateFormat parameter in Parameter table");
        }

        SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 

        String businessDate =  sdf.format(new Date());

        session.put("userID", userID);
        session.put("userName", userID); 
        session.put("businessDate", "30/04/2012");
        session.put("subSystem", subSystem);
        String moduleID = loginDAO.getModuleDetails(subSystem);

        log.info("moduleID is set to " + moduleID );    

        session.put("moduleID", moduleID);

        session.put("lastLoginDate", " ");
        session.put("lastBusinessDate", " ");
        session.put("currencyFormat", " ");

        dateFormat = dateFormat.replace("yy", "y");
        dateFormat = dateFormat.replace("E", "D");
        dateFormat = dateFormat.replace("DD", "D");
        if(StringUtils.countMatches(dateFormat, "MMMM") == 1)
            dateFormat = dateFormat.replace("MMMM", "MM");
        else if(StringUtils.countMatches(dateFormat, "MMM") == 1)
            dateFormat = dateFormat.replace("MMM", "M");
        else if(StringUtils.countMatches(dateFormat, "MM") == 1)
            dateFormat = dateFormat.replace("MM", "mm");
        else if(StringUtils.countMatches(dateFormat, "M") == 1)
            dateFormat = dateFormat.replace("M", "m");

        session.put("datePickerFormat", dateFormat);
        log.info("DatePicker format set to " + dateFormat); 

        log.info("Login successfull. Login Information = " + session);

        welcomeDetails = "Welcome " + userID;

        sdf = new SimpleDateFormat("dd MMMM, yyyy HH:mm:ss z");
        loginDetails = "Current Login : " + sdf.format(new Date());

        log.info("Login Details: User- " + userID + ", " + loginDetails);

        implementationStatus = true;

        request.getSession().setMaxInactiveInterval(60 * 60); 

        return SUCCESS;
    }

    public void setSession(Map<String, Object> session) {
        this.session = session;
    }

    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getWelcomeDetails() {
        return welcomeDetails;
    }

    public void setWelcomeDetails(String welcomeDetails) {
        this.welcomeDetails = welcomeDetails;
    }

    public String getLoginDetails() {
        return loginDetails;
    }

    public void setLoginDetails(String loginDetails) {
        this.loginDetails = loginDetails;
    }

    public boolean isImplementationStatus() {
        return implementationStatus;
    }

    public void setImplementationStatus(boolean implementationStatus) {
        this.implementationStatus = implementationStatus;
    }

    public String getSubSystem() {
        return subSystem;
    }

    public void setSubSystem(String subSystem) {
        this.subSystem = subSystem;
    }

}



**index.jsp**

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
   pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="pragma" content="no-cache" />
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="expires" content="0" />
    <meta http-equiv="keywords" content="struts2, jquery, jquery-ui, plugin, showcase, jqgrid" />
    <meta http-equiv="description" content="Debit Card Reconciliation System" />

    <link href="styles/layout.css" rel="stylesheet" type="text/css" />

    <link rel="stylesheet" href="styles/styles.css" type="text/css" />  

    <!--[if lte IE 7]>
        <link href="styles/patch_layout.css" rel="stylesheet" type="text/css" />
    <![endif]-->

    <!-- This files are needed for AJAX Validation of XHTML Forms -->
    <script type="text/javascript" src="${pageContext.request.contextPath}/struts/utils.js"></script>
    <script type="text/javascript" src="${pageContext.request.contextPath}/struts/xhtml/validation.js"></script>

    <script type="text/javascript" src="js/jquery.js"></script>

    <sj:head debug="true" compressed="false" jquerytheme="humanity" loadFromGoogle="false" ajaxhistory="false" defaultIndicator="myDefaultIndicator" defaultLoadingText="Please wait ..."/>

    <!-- This file includes necessary functions/topics for validation and all topic examples -->
    <script type="text/javascript" src="js/showcase.js"></script>
    <script type="text/javascript" src="js/common.js"></script>
    <script type="text/javascript" src="js/right.js"></script>
    <script type="text/javascript" src="js/date.js"></script>

    <script type="text/javascript" src="js/ui/jquery.ui.datepicker.js"></script>
    <script type="text/javascript" src="js/jquery.tablesorter.js"></script>
    <script type="text/javascript" src="js/jquery.tablesorter.pager.js"></script>
    <script type="text/javascript" src="js/jquery.tablesorter.filter.js"></script>
    <script type="text/javascript" src="js/ui/jquery.ui.core.js"></script>
    <script type="text/javascript" src="js/ui/jquery.ui.widget.js"></script>
    <script type="text/javascript" src="js/ui/jquery.ui.mouse.js"></script>
</head>

<body>
    <div class="page_margins">
        <div class="page">
            <table width="100%" border="0" class="ui-widget-header">
            <tr>
                <td width="40%"><div id="headline">
                    <h1 class="ui-state-default" style="background: none; border: none;">Login Attempt </h1>
                    <h4 class="ui-state-default" style="background: none; border: none;">Login  <i><small>Login</small></i></h4>
                    <img id="myDefaultIndicator" src="images/ajax-loader.gif" alt="Loading..." style="display:none"/>
                </div></td>
                <td width="30%"><div id="subSystemInfo" class="ui-state-default" style="background: none; border: none;font-size: 20px;"></div> </td>

                <td width="30%">
            <div >
                <div style="float: right;">                 
                    <s:form id="themeform" action="setlocale" theme="simple">
                        <div id="languageBox">
                            <span>

                            </span>
                            <span>

                            </span>
                        </div>
                        <sj:submit id="submitForm" formIds="themeform" listenTopics="formTopic" cssStyle="display: none;" />

                    </s:form>

                    <div class="ui-state-default" style="background: none; border: none; padding-top: 3px; padding-bottom: 3px; float: right;"><span id="userInfo"></span><span><a id="logout" href="index.action"></a></span></div><br>

                    <div id="loginInfo" class="ui-state-default" style="background: none; border: none;float: right;"></div>

                </div>



            </div>
            </td>
            </tr>
            </table>

            <div id="menu"></div>

            <s:url id="urlLogin" action="login" />
            <sj:div id="main" href="%{urlLogin}" cssStyle="height:320px">
                <img id="indicator" src="images/indicator.gif" alt="Loading..." />
            </sj:div>

            <!-- begin: #footer -->
            <div id="footer">
                Copyright &copy; 2012, CredenTek Software &amp; Consultancy Private Limited. <a href="http://www.credentek.com/" target="_blank">www.credentek.com</a>
            </div>
        </div>
    </div>

    <div class="curtain" id="loading-filter" style="display:none; height: 850px;">
        <div style="margin-top: 200px; text-align: center;">  
            <img src='images/loading.gif' width='110' height='90' alt='loading ...'/>
        </div>
    </div>
</body>
</html>



**login.jsp**

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

<div id="col3" align="center" style="width: 100%;">
    <div id="col3_content" align="center" class="clearfix" style="width: 90%;">
        <s:url id="urlShowMenu" action="showmenu"/>
        <%-- <sj:a id="loginLink">Login</sj:a> --%>

        <table cellpadding="0" cellspacing="7"  border="0" width="100%">
            <tr valign="top">
                <td width="35%"><img src="images/icicibank.jpg" width="250px"></td>
                <td><br></br><br></br><br></br></td>
                <td  width="35%" align="right">
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <h4 class="ui-state-default" style="background: none; border: none;">Login</h4>
                </td>
                <td>
                </td>
            </tr>

            <tr>
                <td></td>
                <td>
                <hr></hr>
                </td>
                <td></td>
            </tr>

            <tr>
                <td></td>
                <td>
                    <s:form id="loginForm" theme="simple">
                    <table cellpadding="0" cellspacing="15" border="3" width="100%" >


                        <tr style="border:0px;">
                            <td width="50%" style="border:0px;" align="left">User Name </td>
                            <td width="50%" style="border:0px;">
                                <s:textfield id="userID" cssClass="searchInputText" name="userID"></s:textfield>
                            </td>
                        </tr>
                        <tr style="border:0px;">
                            <td style="border:0px;" align="left">Password </td>
                            <td style="border:0px;"><s:password id="password" cssClass="searchInputText" /></td>
                        </tr>
                        <tr style="border:0px;">
                            <td style="border:0px;" align="left">Sub-System</td>
                            <td style="border:0px;"><s:select name="subSystem" list="{'Nostro','CMS'}" cssStyle="width:132px" cssClass="searchInputText"/></td>
                        </tr>

                        <tr align="right" style="border:0px;">
                            <td align="right" colspan="2" style="border:0px;">
                                <sj:submit id="loginBtn" name="Logn" href="%{urlShowMenu}" targets="menu" button="true"></sj:submit>    

                            </td>
                        </tr>
                    </table>

                    </s:form>
                </td>
                <td></td>
            </tr>
    </table>

    </div>

    <!-- IE Column Clearing -->
    <div id="ie_clearing">&#160;</div>
</div>

<script type="text/javascript">

    $(document).ready(function() {

        $("#bankName").focus();

        $("#loginBtn").click(function()
        {
            $("#main").empty();
        });

    });

</script>
Ads
Ads