簡體   English   中英

更改.JSP文件的名稱

[英]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.jspnewName.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM