⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.java

📁 采用tapestry的简单OA系统
💻 JAVA
字号:
package com.ejsun.entapps.presentation.pages.user;

import java.util.Locale;

import javax.servlet.http.Cookie;

import org.apache.tapestry.IEngine;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.callback.ICallback;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.event.PageRenderListener;

import com.ejsun.entapps.domain.organization.User;
import com.ejsun.entapps.presentation.Visit;
import com.ejsun.entapps.presentation.pages.ApplicationBasePage;
import com.ejsun.entapps.service.organization.OrganizationService;

/**	
 * @author	Quake Wang
 * @since	2004-3-21
 * @version $Revision: 1.1 $
 * 
 **/

public abstract class Login extends ApplicationBasePage implements PageRenderListener{
    private final static String LOGIN_ID_COOKIE = "SIMPLE_OA_LOGIN_ID";
	
    private final static int ONE_WEEK = 7 * 24 * 60 * 60;

    public abstract void setLoginId(String value);
    public abstract String getLoginId();
   
	public abstract String getPassword();    

    public abstract void setCallback(ICallback value);
    public abstract ICallback getCallback();
    
    public abstract OrganizationService getOrganizationService();
    
    public void attemptLogin(IRequestCycle cycle) {
        if (isInError()) return;
        User user = getOrganizationService().login(getLoginId(), getPassword());
		loginUser(user, cycle);
    }

    public void loginUser(User user, IRequestCycle cycle) {
        Visit visit = (Visit) getVisit();
        visit.setUser(user);
        
		IEngine engine = getEngine();
		//TODO refactor this        
		if(user.getLocale() != null){
			if (user.getLocale() == "Chinese") {
				getEngine().setLocale(Locale.SIMPLIFIED_CHINESE);
			} else {
				getEngine().setLocale(Locale.ENGLISH);
			}
		}

        ICallback callback = getCallback();
        if (callback == null)
            cycle.activate("Home");
        else
            callback.performCallback(cycle);

        Cookie cookie = new Cookie(LOGIN_ID_COOKIE, user.getLoginId());
        cookie.setPath(engine.getServletPath());
        cookie.setMaxAge(ONE_WEEK);

        cycle.getRequestContext().addCookie(cookie);
        engine.forgetPage(getPageName());
    }

    public void pageBeginRender(PageEvent event) {
        if (getLoginId() == null)
            setLoginId(getRequestCycle().getRequestContext().getCookieValue(LOGIN_ID_COOKIE));
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -