i18nhome.java

来自「Tapestry的一个练习例子」· Java 代码 · 共 50 行

JAVA
50
字号
package com.ttdev.i18n;

import java.text.DateFormat;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;

import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.annotations.Message;
import org.apache.tapestry.event.PageBeginRenderListener;
import org.apache.tapestry.event.PageEvent;
import org.apache.tapestry.form.IPropertySelectionModel;
import org.apache.tapestry.html.BasePage;

public abstract class I18NHome extends BasePage implements
		PageBeginRenderListener {
	@Message
	public abstract String getTodayIs(String dateStr);

	public String getDateSentence() {
		Locale locale = getLocale();
		DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG,
				locale);
		String dateStr = dateFormat.format(new Date());
		return getTodayIs(dateStr);
	}

	public abstract Locale getSelectedLocale();

	public abstract void setSelectedLocale(Locale locale);

	public IPropertySelectionModel getSupportedLocales() {
		List locales = new ArrayList();
		locales.add(Locale.ENGLISH);
		locales.add(Locale.CHINA);
		return new LocaleSelectionModel(locales);
	}

	public void onSetLocale(IRequestCycle cycle) {
		getEngine().setLocale(getSelectedLocale());
		cycle.cleanup();
		// cycle.activate(getPageName());
	}

	public void pageBeginRender(PageEvent event) {
		setSelectedLocale(getLocale());
	}
}

⌨️ 快捷键说明

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