📄 logon.java
字号:
package org.apache.struts.webapp.example;
import org.apache.tapestry.*;
import org.apache.tapestry.annotations.*;
import org.apache.tapestry.valid.*;
import org.apache.tapestry.web.*;
public abstract class Logon extends CommonPage {
public abstract String getUsername();
public abstract String getPassword();
@Bean
public abstract ValidationDelegate getDelegate();
@Message("error.database.missing")
public abstract String getMissingMsg();
@Message("error.password.mismatch")
public abstract String getMismatchMsg();
User getUser(UserDatabase database, String username, String password) throws ExpiredPasswordException {
User user = null;
if (database == null) {
getDelegate().setFormComponent(null);
getDelegate().record(getMissingMsg(), null);
} else {
user = database.findUser(username);
if ((user != null) && !user.getPassword().equals(password)) {
user = null;
}
if (user == null) {
getDelegate().setFormComponent(null);
getDelegate().record(getMismatchMsg(), null);
}
}
return user;
}
@InjectObject("service:tapestry.globals.WebRequest")
public abstract WebRequest getRequest();
void saveUser(User user) {
WebSession session = getRequest().getSession(true);
session.setAttribute(Constants.USER_KEY, user);
if (log.isDebugEnabled()) {
log.debug("LogonAction: User '" + user.getUsername()
+ "' logged on in session " + session.getId());
}
}
public void onSubmit() {
UserDatabase database = getUserDatabase();
String username = getUsername();
String password = getPassword();
User user;
try {
user = getUser(database, username, password);
} catch (ExpiredPasswordException e) {
throw new RedirectException("ExpiredPassword.do");
}
saveUser(user);
if (getDelegate().getHasErrors()) {
return;
}
throw new RedirectException("MainMenu.do");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -