我有以下關於如何在這個特定的Spring MVC配置中實現路由的問題。有些懷疑與Spring MVC中的顯式頁面映射有關,究竟是如何工作的?
所以,到指定的文件MVC-config.xml中我有以下MVC配置:
<!-- other option is UrlFilenameViewController -->
<mvc:view-controller path="/" view-name="/index"/>
<mvc:view-controller path="/index.html" view-name="/index"/>
<mvc:view-controller path="/html5.html" view-name="/html5/html5"/>
<mvc:view-controller path="/about.html" view-name="/about"/>
<mvc:view-controller path="/admin/admin.html" view-name="/admin/admin"/>
<mvc:view-controller path="/login.html" view-name="/form/login"/>
<mvc:view-controller path="/denied.html" view-name="/error/denied"/>
<mvc:view-controller path="/rest.html" view-name="/rest/rest"/>
<mvc:view-controller path="/file.html" view-name="/file/file"/> <!-- Mapping per l'empio dell'upload file -->
<mvc:view-controller path="/cookieView.html" view-name="/cookie/cookieView"/>
<mvc:view-controller path="/jstl.html" view-name="/jstl/jstl"/>
<mvc:view-controller path="/audiovideo.html" view-name="/audiovideo/audiovideo"/>
<mvc:view-controller path="/jdbc.html" view-name="/jdbc/jdbc"/>
<mvc:view-controller path="/orm.html" view-name="/orm/orm"/>
<mvc:view-controller path="/scope.html" view-name="/scope/scope"/>
<mvc:view-controller path="/maintenance.html" view-name="/maintenance"/>
<mvc:view-controller path="/security.html" view-name="/security/security"/>
<mvc:view-controller path="/controller.html" view-name="/controller/controllerView"/>
我從來沒有見過這樣的設置,我總是用控制器類(註釋CON @控制器),其中包含註釋爲@RequestMapping的方法,該方法將特定的HttpRequest處理爲指定資源並返回邏輯視圖名稱。
因此,在我工作的應用程序中,似乎MVC邏輯非常不同。
在我看來,我沒有控制器類和路由顯式處理。
因此,例如,我有:
<mvc:view-controller path="/file.html" view-name="/file/file"/>
,我認爲方法:處理向顯示file.jsp頁面是/文件中的/file.html資源的所有請求/查看目錄的文件夾。
而逸岸到視圖目錄我有/file/file.jsp頁是:
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="page" tagdir="/WEB-INF/tags" %>
<page:template>
<jsp:attribute name="title">
Spring MVC File Upload Controller Example
</jsp:attribute>
<jsp:body>
<c:url value="/uploadFile" var="fileUploadControllerURL" />
<h1><b>Spring MVC FileUploadController Example</b></h1> <br/>
<form action="${fileUploadControllerURL}" method="post" enctype="multipart/form-data">
<table>
<tr><td><b>File:</b></td><td><input type="file" name="file"></td><td><input type="submit" value="Press to upload the File"></td></tr>
</table>
</form>
<br/><br/>
<c:url value="/excel" var="excelController" />
<a href="${excelController}">Excel</a><br/>
<c:url value="/pdf" var="PDFController" />
<a href="${PDFController}">PDF</a>
</jsp:body>
</page:template>
所以,你可以看到,這insdie頁我有類似:
<c:url value="/excel" var="excelController" />
<a href="${excelController}">Excel</a><br/>
究竟意味着什麼?
在我看來,第一行把/Excel中的一個名爲excelController變量中值和然後這是用來爲HREF
這是我的推理正確的還是我失去了什麼?