關於modelmap.addAttribute("",)轉到jsp頁面獲取不到值的問題


問題一,可能是你設置的web.xml的頭有問題

掉坑里好一會,發現我默認生成的web.xml中頭部的配置是

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

看到沒有,居然是web-app_2_3.dtd,這就導致后面的servlet、jsp、EL等采用的全是2.3版本,而在2.3版本中,jsp頁面是不支持EL的,所以當我們在jsp中使用語句${requestScope.test} ,無法得到正確的解析。

 

將他設置為3.0以上的版本即可

把DOCTYPE 引掉,然后在web-app中,黏貼如下代碼

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         id="WebApp_ID" version="3.0">

問題二:可能就是你controller設置的返回值有問題

一開始我是設置成轉發重定向的

modelMap.addAttribute("test",stest);
        request.getRequestDispatcher("WEB-INF/page/show.jsp").forward(request,response);

發現根本就沒有把參數傳遞過去

-----------------------------------------------

 后來發現我已經設置了視圖解析器,可以直接返回路徑,不需轉發就可以到達目的地

return "show";

 完美解決。

轉發與重定向就不用放在ssm框架上進行頁面跳轉了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM