Я пытаюсь создать простой контроллер CRUD и просматривать с помощью Spring mvc.
Я могу:
Получить список документов Загрузить документ Deleted DocumentSpring3 MVC - как правильно внедрить CRUD на тот же контроллер?
Если я хотел бы отправить запрос с помощью FORM,
Как реализовать загрузки документа?
Должен ли я использовать для каждого документа? Другое дело - я правильно использую структуру MVC?
<html>
<body>
<!-- the list: -->
<c:forEach items="${documentList}" var="documentRow">
<Generate table here>
<!-- upload part -->
<form:form modelAttribute="uploadDocument" method="post" enctype="multipart/form-data">
<form:input path="fileData" type="file"/>
<input type="hidden" id="actUploadocument" name="action" value="uploadDocument" />
</form:form>
<!-- delete part -->
<form:form method="post" enctype="multipart/form-data">
<input type="hidden" id="documentId" value="" />
<input type="hidden" id="actUploadocument" name="action" value="deleteDocument" />
</form:form>
</body>
</html>
Контроллер CRUD?
@Controller
@RequestMapping("/documents")
public class DocumentsController
{
@Autowired
private MainService mainService;
@RequestMapping(method = RequestMethod.GET)
public String listDocuments(Model model) {
List<Document> docs = mainService.getAllDocuments();
model.addAttribute("documentList",docs);
model.addAttribute(new UploadDocument());
return "admin/documents";
}
@RequestMapping(method = RequestMethod.POST , params="action=uploadDocument")
public String uploadDocument(UploadDocument uploadDocument){
savedocument(uploadDocument);
return "redirect:/admin/documents.do";
}
@RequestMapping(method = RequestMethod.POST , params="action=removeDocument")
public String removeDocument(@RequestParam(value="documentId", required=true) String documentId){
savedocument(documentId);
return "redirect:/admin/documents.do";
}
@RequestMapping(method = RequestMethod.POST , params="action=downloadDocument")
public String downloadDocument(@RequestParam(value="documentId", required=true) String documentId,
HttpServletRequest request,HttpServletResponse response) {
writeDocToResponse(documentId,response);
return null;
}
Я думаю, что ваш контроллер отлично выглядит. Это в основном до вкуса и религии, но это работает для меня. –
Какова наилучшая практика загрузки документа со стороны просмотра (JSP)? – user648026