Latest Tutorials| Questions and Answers|Ask Questions?|Site Map



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

View Questions and Answers by Category

Advertisements


 
Have Programming Question? Ask it here!
 
 
 


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)      2 years and 3 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>

Advertisement
View Answers

Related Tutorials/Questions & Answers:
Advertisements
Advertisements
 

 

 

DMCA.com