[英]Change Name of a .JSP file
我正在開發一個簡單的spring應用程序。 我有幾個jsps,我想更改一個jsp的名稱和URL。 我更換了控制器:
@RequestMapping(value = "/simpleForm.html", method = RequestMethod.GET)
public void simpleForm(Model model) {
model.addAttribute(new User());
}
至
@RequestMapping(value = "/newName.html", method = RequestMethod.GET)
public void simpleForm(Model model) {
model.addAttribute(new User());
}
並將舊的simpleForm.jsp
為newName.jsp
user
的名稱是我在simpleform.jsp
表單中使用的類
我無法使其工作。 我收到404,找不到simpleform.jsp。 我很困。
編輯:我的視圖解析器標簽:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
我的網址格式如下:
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/forms/*</url-pattern>
</servlet-mapping>
我發現所有鏈接都獲得不可用的相同error()資源。 甚至那些我沒有更改名字的。
我也嘗試直接從newName.jsp
開始。 還是一樣的錯誤!
更改:
@RequestMapping(value = "/newName.html", method = RequestMethod.GET)
至:
@RequestMapping(value = "/newName.jsp", method = RequestMethod.GET)
嘗試將其更改為
@RequestMapping(value = "/newName.html", method = RequestMethod.GET)
public String simpleForm(Model model) {
model.addAttribute(new User());
return "newName"; // returning the desired view
}
並確保您已經相應地定義了viewResolver
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
根據您的應用程序結構更改前綴,它將采用視圖(控制器返回的字符串)並添加前綴和后綴。 因此,解析的視圖將為/WEB-INF/jsp/newName.jsp
。
仔細檢查您在類上仍有@Controller
批注。 我曾經看到過404錯誤被刪除的情況。
404錯誤是HTTP狀態代碼,這意味着您嘗試在其網站上訪問的頁面無法在其服務器上找到。
如我所見,您的后綴是.jsp。 因此,請嘗試此操作(如果WebContent中有任何newName.jsp)
@RequestMapping(value = "/newName", method = RequestMethod.GET)
public void simpleForm(Model model) {
model.addAttribute(new User());
}
它應該工作
如果您嘗試此URL
http://localhost:<port>/AppNAme/forms/newName.html
而您的控制器是
@RequestMapping(value = "/newName.html", method = RequestMethod.GET)
public ModelAndView simpleForm(Model model) {
model.addAttribute(new User());
ModelAndView mv = new ModelAndView("jspViewName");
return mv;
}
ViewResolver的前綴中缺少正斜杠。 這應該可以修復您的404。試一下。
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.