사이트를 다국어로 만들고 싶습니다. Struts2에서 i18n 인터셉터 사용
나는<interceptor-ref name="i18n" />
변경 로케일에 대한 일반적인 JSP가 포함 된 일반 인터셉터 스택이 : 위의 시나리오에서
<s:a action="locale-manager" namespace="/common">
<s:param name="request_locale">fa_IR</s:param>
فارسی
</s:a>
<s:a action="locale-manager" namespace="/common">
<s:param name="request_locale">en_US</s:param>
English
</s:a>
그리고 간단한 LocaleManager 액션
public class LocaleManager extends ActionSupport{
private static final Logger log = LoggerFactory.getLogger(LocaleManager.class);
public String execute() {
log.debug("Change the local to {}", getLocale());
return "homepage";
}
}
을 i18n 인터셉터는 항상 모든 작업에 대해 실행됩니다. 로켈은 사용자가 로켈 관리자 작업을 클릭 할 때만 변경되기 때문에
나는 인터셉터 스택을 제거하고
@InterceptorRefs({ @InterceptorRef("i18n") })
public class LocaleManager extends ActionSupport{
.........
다음과 같이 만 LocaleManager에 국제화 인터셉터를 추가하려고하지만 그것은 작동하지 않았다?! 나는 뭔가를 놓치고 있습니까, 아니면 제 자신의 인터셉터를 써야합니까?
당신이 뭘 하려는지? 로켈을 변경하려면 변경 작업이 필요하지 않습니다. –