📄 home.java
字号:
/*
* Created on 2004-10-30
*
* http://www.open-v.com 提供代码的维护工作
*/
package com.openv.spring.tapestry;
import com.openv.spring.domainmodel.UserInfoVO;
import com.openv.spring.service.IExample11Manager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.Tapestry;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.event.PageRenderListener;
import org.apache.tapestry.form.IPropertySelectionModel;
import org.apache.tapestry.form.StringPropertySelectionModel;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.valid.IValidationDelegate;
import org.springframework.dao.DataAccessException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
/**
* Tapestry应用的首页
*
* @author luoshifei
*/
public abstract class Home extends BasePage implements PageRenderListener,
IMessageProperty, IErrorProperty {
private final static Log log = LogFactory.getLog(Home.class);
public abstract void setMessage(String message);
public abstract void setError(String error);
public abstract void setInterestmodel(IPropertySelectionModel interestmodel);
public abstract IPropertySelectionModel getInterestmodel();
public abstract void setCountrymodel(IPropertySelectionModel countrymodel);
public abstract IPropertySelectionModel getCountrymodel();
public abstract IExample11Manager getExample11Service();
public abstract UserInfoVO getUserinfoVO();
public abstract void setUserinfoVO(UserInfoVO userinfoVO);
/**
* 实现PageRenderListener中定义的回调函数
*
* @param event
*/
public void pageBeginRender(PageEvent event) {
log.info("pageBeginRender().........");
IPropertySelectionModel model = getInterestmodel();
if (model == null) {
model = buildInterestmodel();
setInterestmodel(model);
}
model = getCountrymodel();
if (model == null) {
model = buildCountrymodel();
setCountrymodel(model);
}
return;
}
/**
* 处理表单的提交
*
* @param cycle
*/
public void submitPersonInfo(IRequestCycle cycle) {
log.info("submitPersonInfo()..............");
IValidationDelegate delegate = (IValidationDelegate) getBeans().getBean("delegate");
if (delegate.getHasErrors()) {
return;
}
String password = getUserinfoVO().getPassword().trim();
String repassword = getUserinfoVO().getRepassword().trim();
if (!password.equals(repassword)) {
IErrorProperty page = (IErrorProperty) cycle.getPage();
page.setError(getMessage("password"));
return;
}
boolean flag = this.getExample11Service().setUserInfo(getUserinfoVO());
if (flag) {
IMessageProperty page = (IMessageProperty) cycle.getPage();
page.setMessage(getMessage("success") + ":" +
getUserinfoVO().getUsername().trim());
setUserinfoVO(new UserInfoVO());
return;
} else {
IErrorProperty page = (IErrorProperty) cycle.getPage();
page.setError(getMessage("failure") + ":" +
getUserinfoVO().getUsername().trim());
return;
}
}
/**
* 构建国家列表模型
*
* @return IPropertySelectionModel
*/
private IPropertySelectionModel buildCountrymodel() {
log.info("buildCountrymodel()............");
String[] countrymodelStr;
Locale[] locale = Locale.getAvailableLocales();
List list = new ArrayList();
for (int i = 0, k = locale.length; i < k; ++i) {
if (Tapestry.isNonBlank(locale[i].getDisplayCountry())) {
list.add(locale[i].getDisplayCountry());
}
}
countrymodelStr = new String[list.size() + 1];
countrymodelStr[0] = "";
for (int i = 1, k = list.size() + 1; i < k; ++i) {
countrymodelStr[i] = (String) list.get(i - 1);
}
return new StringPropertySelectionModel(countrymodelStr);
}
/**
* 构建兴趣列表模型
*
* @return IPropertySelectionModel
*/
private IPropertySelectionModel buildInterestmodel() {
log.info("buildInterestmodel().............");
String[] interestmodelStr;
List list = null;
try {
list = getExample11Service().getInterests();
} catch (DataAccessException ex) {
log.error("访问数据库异常", ex);
IErrorProperty page = (IErrorProperty) this.getRequestCycle()
.getPage();
page.setError("访问数据库期间出现异常,请确保数据库成功创建和运行!");
return new StringPropertySelectionModel(new String[] { "" });
}
interestmodelStr = new String[list.size()];
for (int i = 0, k = list.size(); i < k; ++i) {
if (Tapestry.isNonBlank((String) list.get(i))) {
interestmodelStr[i] = (String) list.get(i);
}
}
return new StringPropertySelectionModel(interestmodelStr);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -