Spring MVC 3 с Hibernate - Какая у меня модель для использования в ModelAndView? - PullRequest
0 голосов
/ 10 января 2012

Я только что настроил свой первый проект Spring MVC 3 с Hibernate 3, используя Maven.

Теперь я привык иметь страницу контроллера с моим контроллером и пакет моделей с моими моделями, но сИнтегрированный в Hibernate то, что у меня теперь есть:

.
|____main
| |____java
| | |____com
| | | |____cqrify
| | | | |____tellus
| | | | | |____App.java
| | | | | |____controller
| | | | | | |____ContactController.java
| | | | | |____dao
| | | | | | |____ContactDAO.java
| | | | | | |____impl
| | | | | | | |____ContactDAOImpl.java
| | | | | |____form
| | | | | | |____Contact.java
| | | | | |____service
| | | | | | |____ContactService.java
| | | | | | |____impl
| | | | | | | |____ContactServiceImpl.java
| |____resources
| | |____config.properties
| | |____log4j.xml
| | |____Messages.properties
| | |____META-INF
| |____webapp
| | |____resources
| | | |____css
| | | |____gfx
| | | |____js
| | |____WEB-INF
| | | |____classes
| | | |____spring
| | | | |____appServlet
| | | | | |____servlet-context.xml
| | | | |____root-context.xml
| | | |____views
| | | | |____editContact.jsp
| | | | |____newContact.jsp
| | | | |____showContacts.jsp
| | | | |____includes
| | | |   |____taglib_includes.jsp
| | | |____web.xml
|____test
| |____java
| |____resources
| | |____log4j.xml
|____test.txt

Что я понимаю, так это то, что я должен автоматически подключать "ContactService", поскольку теперь это моя "модель", но как мне использовать с ModelAndView?

Мой контроллер

import com.cqrify.tellus.form.Contact;
import com.cqrify.tellus.service.ContactService;

@Controller
public class ContactController {
    @Autowired
    private ContactService contactService;

    @RequestMapping(value="/")
    public ModelAndView listContacts(){
        Map<String, Object> contactMap;

        contactMap.put("contactList", contactService.listContacts());

        ModelAndView modelAndView = new ModelAndView("showContacts", "ContactService", contactMap);
        return modelAndView;
    }
}

Как видно выше

ModelAndView modelAndView = new ModelAndView("showContacts", "ContactService", contactMap);

верно ли, что ContactService теперь будет моим modelName или я что-то полностью пропустил?

1 Ответ

0 голосов
/ 10 января 2012

В вашем случае вы можете просто вернуть:

new ModelAndView("showContacts", "contactList", contactService.listContacts());

Это означает, что вы хотите отобразить showContacts представление, и список контактов будет доступен для представления под именем contactList.

ContactService - это бизнес-объект, используемый для поиска (извлечения) модели, ИМХО, его не следует использовать для именования самой модели.

...