实现beetl的function,然后使用spring配置注入该bean即可
public class I18nUtil implements Function{
@Override
public Object call(Object[] obj, Context context) {
if(obj.length < 1) {
try {
throw new BeetlException("调用Beetl方法获取国际化信息时 参数列表传递错误");
} catch (BeetlException e) {
e.printStackTrace();
return "调用Beetl方法获取国际化信息时 参数列表传递错误";
}
}
HttpServletRequest request = (HttpServletRequest) context.getGlobal("request");
RequestContext requestContext = new RequestContext(request);
String message = "";
try {
message = requestContext.getMessage((String)obj[0]);
if("".equals(message) && obj.length > 1){
message = (String)obj[(int)(1+Math.random()*(obj.length-1))];
}
} catch (Exception e) {
e.printStackTrace();
if(obj.length > 1)
message = (String)obj[(int)(1+Math.random()*(obj.length-1))];
}
return message;
}
}