核心依赖和核心代码
去年找工作的时候,当时熟悉spring工程找到几篇博客,写着后端数据传输到前端用${name}就可以从后端传递到前端了,可能是作者太熟悉项目吧,写的太简单,当时真的坑了我好久,就一个符号传递值,我还思考好久,毕竟前端的东西完全不懂,搞了好久没搞出来,最后就放弃了,今年想起来了,就把整体项目更新下吧。
首先,你先搭建一个spring-web的平台,用spring-mvc就行,点击以后按键就可以跳转到另一个界面,spring-mvc项目搭建我就不阐述了,另一篇博文写了第一个Spring项目,然后里面需要更下后台的代码,先贴下依赖吧,具体为什么引用这两个包可以看下tomcat官网,Apache Taglibs Downloads,里面可以点击Binary README按键查看文档说明,当然看不懂英文没事,chrome可以右键查看中文么,哈哈哈,最好还是中文英文一起看,毕竟有些直译还是翻译的不是特别好,核心依赖就是两个,顺道说下web.xml文件也需要改下标头,为了就是引用javaee,一起贴下吧:
<!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="3.1"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>SpringDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
顺道说下,看来一个博客感谢老哥,引用下,明白了’/‘表示该项目的所有请求路径;’/*‘表示只能有一级子路径,它匹配’/a.jsp’但是不匹配’/jsp/a.jsp’。
核心依赖:
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
贴下后端的代码:
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class GoViews {
@RequestMapping("goView")
public String goNewView(String name, Model model) {
model.addAttribute("name", name);
return "success";
}
}
当然还需要一个输入界面和一个跳转成功的界面,就是success界面。
先截下图,看下项目框架:
然后把index.jsp代码贴下:
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
function goNewWindow() {
var name = document.getElementById("input").value;
$.ajax({
type: "POST",
url: "goView",
contentType: "application/json;charset=utf-8",
dataType: "json",
data: {name: name},
success:function(data){
alert(data);
}
});
}
</script>
</head>
<body>
<form action="/goView" >
<input type="submit" id="submit" value="按键"/>
<input type="text" name="name"/>
</form>
<tr></tr>
结果:
<div id="result" ></div>
</body>
</html>
跳转页面的代码success.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<html>
<head>
<title>Title</title>
</head>
<body>
<input id="name" name="name" value="${name}">
</body>
</html>
三个核心Taglib表头,可以使用EL表达式了,具体使用判断循环可以看下Jar核心,有时间再更新下。