⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resources.java.svn-base

📁 MVC开源框架
💻 SVN-BASE
📖 第 1 页 / 共 2 页
字号:
     * @param va       The Validator Action     * @param field    The Validator Field     */    public static String getMessage(MessageResources messages, Locale locale,        ValidatorAction va, Field field) {        String[] args = getArgs(va.getName(), messages, locale, field);        String msg =            (field.getMsg(va.getName()) != null) ? field.getMsg(va.getName())                                                 : va.getMsg();        return messages.getMessage(locale, msg, args);    }    /**     * Gets the <code>Locale</code> sensitive value based on the key passed     * in.     *     * @param application     the servlet context     * @param request         the servlet request     * @param defaultMessages The default Message resources     * @param locale          The locale     * @param va              The Validator Action     * @param field           The Validator Field     */    public static String getMessage(ServletContext application,        HttpServletRequest request, MessageResources defaultMessages,        Locale locale, ValidatorAction va, Field field) {        Msg msg = field.getMessage(va.getName());        if ((msg != null) && !msg.isResource()) {            return msg.getKey();        }        String msgKey = null;        String msgBundle = null;        MessageResources messages = defaultMessages;        if (msg == null) {            msgKey = va.getMsg();        } else {            msgKey = msg.getKey();            msgBundle = msg.getBundle();            if (msg.getBundle() != null) {                messages =                    getMessageResources(application, request, msg.getBundle());            }        }        if ((msgKey == null) || (msgKey.length() == 0)) {            return "??? " + va.getName() + "." + field.getProperty() + " ???";        }        // Get the arguments        Arg[] args = field.getArgs(va.getName());        String[] argValues =            getArgValues(application, request, messages, locale, args);        // Return the message        return messages.getMessage(locale, msgKey, argValues);    }    /**     * Gets the <code>ActionMessage</code> based on the     * <code>ValidatorAction</code> message and the <code>Field</code>'s arg     * objects.     * <p>     * <strong>Note:</strong> this method does not respect bundle information     * stored with the field's &lt;msg&gt; or &lt;arg&gt; elements, and localization     * will not work for alternative resource bundles. This method is     * deprecated for this reason, and you should use     * {@link #getActionMessage(Validator,HttpServletRequest,ValidatorAction,Field)}     * instead.      *     * @param request the servlet request     * @param va      Validator action     * @param field   the validator Field     * @deprecated Use getActionMessage(Validator, HttpServletRequest,     *    ValidatorAction, Field) method instead     */    public static ActionMessage getActionMessage(HttpServletRequest request,        ValidatorAction va, Field field) {        String[] args =            getArgs(va.getName(), getMessageResources(request),                RequestUtils.getUserLocale(request, null), field);        String msg =            (field.getMsg(va.getName()) != null) ? field.getMsg(va.getName())                                                 : va.getMsg();        return new ActionMessage(msg, args);    }    /**     * Gets the <code>ActionMessage</code> based on the     * <code>ValidatorAction</code> message and the <code>Field</code>'s arg     * objects.     *     * @param validator the Validator     * @param request   the servlet request     * @param va        Validator action     * @param field     the validator Field     */    public static ActionMessage getActionMessage(Validator validator,        HttpServletRequest request, ValidatorAction va, Field field) {        Msg msg = field.getMessage(va.getName());        if ((msg != null) && !msg.isResource()) {            return new ActionMessage(msg.getKey(), false);        }        String msgKey = null;        String msgBundle = null;        if (msg == null) {            msgKey = va.getMsg();        } else {            msgKey = msg.getKey();            msgBundle = msg.getBundle();        }        if ((msgKey == null) || (msgKey.length() == 0)) {            return new ActionMessage("??? " + va.getName() + "."                + field.getProperty() + " ???", false);        }        ServletContext application =            (ServletContext) validator.getParameterValue(SERVLET_CONTEXT_PARAM);        MessageResources messages =            getMessageResources(application, request, msgBundle);        Locale locale = RequestUtils.getUserLocale(request, null);        Arg[] args = field.getArgs(va.getName());        String[] argValues =            getArgValues(application, request, messages, locale, args);        ActionMessage actionMessage = null;        if (msgBundle == null) {            actionMessage = new ActionMessage(msgKey, argValues);        } else {            String message = messages.getMessage(locale, msgKey, argValues);            actionMessage = new ActionMessage(message, false);        }        return actionMessage;    }    /**     * Gets the message arguments based on the current <code>ValidatorAction</code>     * and <code>Field</code>.     *     * @param actionName action name     * @param messages   message resources     * @param locale     the locale     * @param field      the validator field     */    public static String[] getArgs(String actionName,        MessageResources messages, Locale locale, Field field) {        String[] argMessages = new String[4];        Arg[] args =            new Arg[] {                field.getArg(actionName, 0), field.getArg(actionName, 1),                field.getArg(actionName, 2), field.getArg(actionName, 3)            };        for (int i = 0; i < args.length; i++) {            if (args[i] == null) {                continue;            }            if (args[i].isResource()) {                argMessages[i] = getMessage(messages, locale, args[i].getKey());            } else {                argMessages[i] = args[i].getKey();            }        }        return argMessages;    }    /**     * Gets the message arguments based on the current <code>ValidatorAction</code>     * and <code>Field</code>.     *     * @param application     the servlet context     * @param request         the servlet request     * @param defaultMessages Default message resources     * @param locale          the locale     * @param args            The arguments for the message     */    private static String[] getArgValues(ServletContext application,        HttpServletRequest request, MessageResources defaultMessages,        Locale locale, Arg[] args) {        if ((args == null) || (args.length == 0)) {            return null;        }        String[] values = new String[args.length];        for (int i = 0; i < args.length; i++) {            if (args[i] != null) {                if (args[i].isResource()) {                    MessageResources messages = defaultMessages;                    if (args[i].getBundle() != null) {                        messages =                            getMessageResources(application, request,                                args[i].getBundle());                    }                    values[i] = messages.getMessage(locale, args[i].getKey());                } else {                    values[i] = args[i].getKey();                }            }        }        return values;    }    /**     * Initialize the <code>Validator</code> to perform validation.     *     * @param key         The key that the validation rules are under (the     *                    form elements name attribute).     * @param bean        The bean validation is being performed on.     * @param application servlet context     * @param request     The current request object.     * @param errors      The object any errors will be stored in.     * @param page        This in conjunction with  the page property of a     *                    <code>Field<code> can control the processing of     *                    fields.  If the field's page is less than or equal     *                    to this page value, it will be processed.     */    public static Validator initValidator(String key, Object bean,        ServletContext application, HttpServletRequest request,        ActionMessages errors, int page) {        ValidatorResources resources =            Resources.getValidatorResources(application, request);        Locale locale = RequestUtils.getUserLocale(request, null);        Validator validator = new Validator(resources, key);        validator.setUseContextClassLoader(true);        validator.setPage(page);        validator.setParameter(SERVLET_CONTEXT_PARAM, application);        validator.setParameter(HTTP_SERVLET_REQUEST_PARAM, request);        validator.setParameter(Validator.LOCALE_PARAM, locale);        validator.setParameter(ACTION_MESSAGES_PARAM, errors);        validator.setParameter(Validator.BEAN_PARAM, bean);        return validator;    }}

⌨️ 快捷键说明

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