从Java文件写入jsp文件

时间:2014-07-22 17:16:29

标签: java mysql spring jsp spring-mvc

我有一个使用Spring设计的Java Web服务和一个与之对应的jsp文件。

为了进一步说明,我有一个名为infosys.jsp WEB-INF / views的jsp文件,可以访问https:// localhost:8080 / admin / infosys?id = 34。我也可以传递参数,如图所示。

在我的网络控制器中,我有一个名为

的方法
 @RequestMapping(value = "/infosys", method = RequestMethod.GET)
 public @ResponseBody void getId(@RequestParam(value="id", required=false) String id) {
    .......
}

我已调试并且此方法有效,我可以访问传递它的id。我试图在我的jsp文件中显示id。例如,如果我说https:// localhost:8080 / admin / infosys我希望能够显示34.如何写入我的jsp文件?如果我需要存储和访问,我有一个MySQL数据库集成。如果我需要,我该如何写入DB并访问??

编辑:infosys.jsp文件:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page isELIgnored ="false" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Info Sys</title>
</head>
<body>
<spring:url value="/" var="homeUrl"/>
<a href="${homeUrl}">Home</a>
<BR><BR>

</body>
</html>

1 个答案:

答案 0 :(得分:6)

你的Controller的Handler方法应该返回一个带有视图名称的String(没有@ResponseBody)。您还应该在模型中设置ID。

@RequestMapping(value = "/infosys", method = RequestMethod.GET)
String getId(@RequestParam(value="id", required=false) String id, org.springframework.ui.Model model) {

  model.addAttribute("id", id);
  return "admin/infosys";
}

您应该使用Spring的InternalResourceViewResolver将返回的值转换为视图的相对路径。您可以在Web应用程序上下文配置文件中将其添加为bean,通常位于/WEB-INF/mvc-dispatcher-servlet.xml

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="prefix" value="/WEB-INF/views/"/>
  <property name="suffix" value=".jsp"/>
</bean>

admin/infosys - &gt; InternalResourceViewResolver - &gt; /WEB-INF/views/admin/infosys.jsp;

以下是它的工作原理:

  1. Http请求说,Tomcat
  2. 请求由Spring的DispatcherServlet处理
  3. DispatcherServlet根据@RequestMapping
  4. 找到正确的HandlerMethod
  5. DispatcherServlet创建一个Model实例,并通过引用传递给HandlerMethod
  6. HandlerMethod将视图名称返回给DispatcherServlet
  7. Spring将模型添加到请求范围
  8. DispatcherServlet从InternalResourceViewResolver获取视图路径
  9. 找到正确的JSP
  10. 转发对JSP的请求
  11. 在JSP文件中,简单地将${id}放在页面的任何位置,这将显示“id”模型属性的值。