类 ModelFactory


  • public final class ModelFactory
    extends Object
    Assist with initialization of the Model before controller method invocation and with updates to it after the invocation.

    On initialization the model is populated with attributes temporarily stored in the session and through the invocation of @ModelAttribute methods.

    On update model attributes are synchronized with the session and also BindingResult attributes are added if missing.

    从以下版本开始:
    3.1
    作者:
    Rossen Stoyanchev
    • 方法详细资料

      • initModel

        public void initModel​(NativeWebRequest request,
                              ModelAndViewContainer container,
                              HandlerMethod handlerMethod)
                       throws Exception
        Populate the model in the following order:
        1. Retrieve "known" session attributes listed as @SessionAttributes.
        2. Invoke @ModelAttribute methods
        3. Find @ModelAttribute method arguments also listed as @SessionAttributes and ensure they're present in the model raising an exception if necessary.
        参数:
        request - the current request
        container - a container with the model to be initialized
        handlerMethod - the method for which the model is initialized
        抛出:
        Exception - may arise from @ModelAttribute methods
      • getNameForReturnValue

        public static String getNameForReturnValue​(Object returnValue,
                                                   MethodParameter returnType)
        Derive the model attribute name for the given return value based on:
        1. the method ModelAttribute annotation value
        2. the declared return type if it is more specific than Object
        3. the actual return value type
        参数:
        returnValue - the value returned from a method invocation
        returnType - a descriptor for the return type of the method
        返回:
        the derived name (never null or empty String)