首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring控制器model.addAttribute

Spring控制器model.addAttribute
EN

Stack Overflow用户
提问于 2014-03-22 07:32:00
回答 1查看 4.1K关注 0票数 1

我对Java很陌生。

下面我用创建了一个项目,它可以工作。

代码语言:javascript
复制
@WebServlet("/the_data/userdata/userData")
public class userData extends HttpServlet {
    private static final long serialVersionUID = 1L;


    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {

        response.setContentType("text/html");

        //query
        String query = "select * from country";

        try {
            //Note -> ConLib is my connection class
            ResultSet rst = ConLib.connect().createStatement().executeQuery(query);

            response.getWriter().print("<table>");
            response.getWriter().print("<tr>");
            while(rst.next()) {
                response.getWriter().print("<tr>");
                response.getWriter().print("    <td>src/"+rst.getString("id")+"</td>");
                response.getWriter().print("    <td>"+rst.getString("countryName")+"</td>");
                response.getWriter().print("    <td>"+rst.getString("countryName")+"</td>");
                response.getWriter().print("</tr>");
            }
            response.getWriter().print("</tr>");
            response.getWriter().print("</table>");

        } 
        catch (SQLException e) {
            e.printStackTrace();
        }

    }
}

编写像上面这样的html页面真的很困难。

我决定编写新项目(Spring项目)。我正在将上面的代码转换为Spring框架。我不知道,密码不起作用。我只想用country_view.jsp文件编写数组。

代码语言:javascript
复制
@RequestMapping(value = "/country", method = RequestMethod.GET)
public String pasar(Model model) throws SQLException {

    String theSQL = "select * from country";

    //Note -> ConLib is my connection class
    ResultSet rst = ConLib.connect().createStatement().executeQuery(theSQL);

    model.addAttribute(rst);

    return "country_view";
}

我是country_view.jsp

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
    <title>Country</title>
</head>
<body>
    <h1>Country</h1>

    <% while(rst.next()) { %>
        <%= rst.getString("countryName") %>
    <% } %>
</body>
</html>

这是错误页面:

代码语言:javascript
复制
type Exception report

message Unable to compile class for JSP:

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 10 in the jsp file: /WEB-INF/views/country_view.jsp
rst cannot be resolved
7: <body>
8: <h1>Country</h1>
9:  
10:  <% while(rst.next()) { %>
11:     <%= rst.getString("countryName") %>
12:  <% } %>
13: </body>


An error occurred at line: 11 in the jsp file: /WEB-INF/views/country_view.jsp
rst cannot be resolved
8: <h1>Country</h1>
9:  
10:  <% while(rst.next()) { %>
11:     <%= rst.getString("countryName") %>
12:  <% } %>
13: </body>
14: </html>


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

你能帮帮我吗?

以及如何在'spring视图‘中编写数组?

谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-22 10:44:41

将其添加到JSP中

代码语言:javascript
复制
 <% ResultSet rst = (ResultSet)request.getAttribute("resultSet");%>
 <%= rst.getString("resultSet") %>

将pasar方法更改为

代码语言:javascript
复制
model.addAttribute("resultSet",rst);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22574796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档