I18NMessageMethod.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:alfresco-repository 作者:
/**
 * @see freemarker.template.TemplateMethodModel#exec(java.util.List)
 */
public Object exec(List args) throws TemplateModelException
{
    String result = "";
    int argSize = args.size();

    if (argSize != 0)
    {
        String id = "";
        Object arg0 = args.get(0);
        if (arg0 instanceof TemplateScalarModel)
        {
            id = ((TemplateScalarModel)arg0).getAsString();
        }

        if (id != null)
        {
            if (argSize == 1)
            {
                // shortcut for no additional msg params
                result = I18NUtil.getMessage(id);
            }
            else
            {
                Object[] params = new Object[argSize - 1];
                for (int i = 0; i < argSize-1; i++)
                {
                    // ignore first passed-in arg which is the msg id
                    Object arg = args.get(i + 1);
                    if (arg instanceof TemplateScalarModel)
                    {
                        params[i] = ((TemplateScalarModel)arg).getAsString();
                    }
                    else if (arg instanceof TemplateNumberModel)
                    {
                        params[i] = ((TemplateNumberModel)arg).getAsNumber();
                    }
                    else if (arg instanceof TemplateDateModel)
                    {
                        params[i] = ((TemplateDateModel)arg).getAsDate();
                    }
                    else
                    {
                        params[i] = "";
                    }
                }
                result = I18NUtil.getMessage(id, params);
            }
        }
    }

    return result;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号