求解,jsp页面读取不到modelandview的数据!

流离影风 发布于 2015/07/28 17:27
阅读 2K+
收藏 0

java 代码 ,结果显示的页面在另一个方法下的返回值处:

 public ModelAndView getAllMobile(String result1) {
         //Map<String, String> model =new  HashMap<String, String>();
        ModelAndView modelAndView = new ModelAndView();
    //     modelAndView.setViewName("shuchu");
        Connection conn=null;
        try {            
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","");
            String strSql = "select * from mobile where number=?" ;        
            PreparedStatement ps = conn.prepareStatement(strSql);
            ps.setString(1, result1);                    
            ResultSet result = ps.executeQuery();
            
        while(result.next()){
            System.out.println(result.getString("number"));
            //model.addAttribute("aa",result.getString("number"));
             //model.addAttribute("bb",result.getString("local"));
             //model.addAttribute("cc",result.getString("type"));
             //model.addAttribute("dd",result.getString("description"));
            // model.addAttribute("ee",result.getString("code"));
            //model.put("ee",result.getString("code") );
            modelAndView.addObject("ee", result.getString("code"));
            System.out.println(result.getString("code"));
        }
            conn.close();
        } catch (SQLException e) {        
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        return modelAndView;
}

JSP页面,因为大体相似,就把与程序对应的贴出来:

<%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html> 
<tr>
              <td>所属地区邮编:</td>
              <td>${ee}${code}e</td>
          </tr>     
每次结果都是显示"e",我都醉了

加载中
0
实迷途其未远觉今是而昨非
实迷途其未远觉今是而昨非

不知道你的spring mvc 配置的对不对,我很怀疑

改了你的部分代码,自己添加了数据库表,我这边可以显示。

controller控制器代码

public class TestController implements Controller {

    @Override
    public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) {
        //参数通过request获取,请求http://localhost:8080/xx/test?phoneNumber=18888888888
        String phoneNumber = req.getParameter("phoneNumber");
        ModelAndView modelAndView = new ModelAndView();
        Connection conn;
        //链接数据库,查询数据,设值
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456");
            String strSql = "select * from mobile where number=?" ;
            PreparedStatement ps = conn.prepareStatement(strSql);
            ps.setString(1, phoneNumber);
            ResultSet result = ps.executeQuery();

            while(result.next()){
                System.out.println(result.getString("number"));
                modelAndView.addObject("ee", result.getString("code"));
                System.out.println(result.getString("code"));
            }
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        //spring mvc 的jsp路径
        modelAndView.setViewName("task/hello");
        return modelAndView;
    }
}



spring mvc中注册该controller

<bean name="/test" class="org.test.TestController"/>



jsp代码

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
	<title></title>
</head>

<body>
	${ee}
</body>
</html>



0
爱生活_爱JAVA
爱生活_爱JAVA

可以先用request.setAttribute() 来取一下,看看值是否有问题 .或打断点跟踪一下.

如果有值而且通过ModelAndView 取不到,可以查一下配置

返回顶部
顶部