2

我有以下要求。我将模型对象提交给视图,如下所示...

@RequestMapping(value ="/addItem", method = RequestMethod.GET)
     public ModelAndView showContacts() {           
         ModelAndView modelAndView = new ModelAndView("addItem", "command", new Item());
         return modelAndView;
     }

但是在发布后,我需要检索返回给我的“项目”对象(模型)之外的值。我不能让这个变量成为 Item 模型对象的一部分,因为它不属于那里。但我需要它返回以便对该值采取行动。我该怎么做呢?

即在我的 JSP 文件中,我有以下字段...

<form:input type="text" path="val1"/>
<form:input type="text" path="val2"/>
<form:input type="text" path="val3"/>

在上述之外,只有字段 val1 和 val2 具有到 Item 对象的映射,而 val3 没有。尽管如此,我还需要将 val3 的值传递回我的控制器。我现在处理 POST 的代码如下,但我不知道如何获取 val3 的值。该代码现在无法编译,因为它说在 val3 的 Item 类中没有字段或适当的 getter 方法。

@RequestMapping(value = "/postItem", method = RequestMethod.POST)
    public String postItem(@ModelAttribute("item") Item item , BindingResult result) {
        logger.info("Post Item:");
        return "home";
    }

如何修改上述代码以满足我的要求?

对此问题的一些指导将不胜感激。

4

1 回答 1

1

您可以将地图作为模型传递,并在其中包含各种不同的东西。您不仅限于单个域对象,构造函数只是为了方便,它不是唯一的方法。构造函数有一个变体

public ModelAndView(Object view,
                    Map model)

    Create a new ModelAndView given a View object and a model.

    Parameters:
        view - View object to render (usually a Servlet MVC View object)
        model - Map of model names (Strings) to model objects (Objects). 
        Model entries may not be null, but the model Map may be null if 
        there is no model data.
于 2012-06-22T17:19:26.877 回答