最近刚入门springmvc进行前端交互 配置jsp和html不得方法感觉一头大
配置jsp交互
- 首先是springmvc的配置在我们的视图返回的时候会自动根据我们的配置找到我们的返回的字符串所对应的前面界面
- 我们一般会在主的pom.xml中配置 配置
项目的目录结构配置
- 首先 每个项目的配置目录结构是不同的,我的 目录结构是不同的等级的依赖,在主配置pom.xml中配置了
()
<modules> <module>api</module> <module>common</module> <module>dao</module> <module>service</module> <module>web</module> </modules>
在主配置中定义了我们的模块信息
然后我们要导入jsp和html信息就要在web模块中进行定义
jsp配置
- 如果是jsp的话我们只需要在模块中的配置中进行设置
首先我们在resources中的界面配置cmdb-service.xml中配置 可以识别的前端界面和css样式
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>
<!--配置识别的jsp界面-->
<bean id = "viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/Templates/"/>
<property name="suffix" value=".jsp"/>
</bean>
<!--配置识别的css和js-->
<mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>
- 首先 我配置的是信息是指 前端界面放置在WEB-INF/Templates下 都是以jsp结尾的,然后我们的静态文件都是放置在WEB-INF下的static文件夹下 这个时候就是代表我们的jsp的配置已经完成
html文件配置
*html的配置要去我们的WEN-INF下的web.xml中去配置一些设置
<servlet-mapping><!--允许jsp和html文件的交互-->
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
- 然后在对我们的上面的文件进行更改把允许jsp和html的结尾配置改变下就可以了
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>
<bean id = "viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/Templates/"/>
<property name="suffix" value=".html"/>
</bean>
<mvc:resources mapping="/static/**" location="/WEB-INF/static/"/>
<mvc:resources location="/WEB-INF/Templates/" mapping="/Templates/*.html"/> <!--此信息必须配置不然会找不到资源信息-->
- 我们的前端界面在被视图识别的时候回自动找到你返回的视图中去寻找的
- 如果想要改变视图的目录只需要在上面的文件中更改WEB-INF下的目录结构就可以了
界面获取后端的值
- 当我们的界面想要获取后端传递的值得时候就要考虑到一件事 我们怎么来获取值,首先我们要导入jsp依赖的模块
- 在模块的pom.xml中导入信息
<!--jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<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>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard</artifactId>
<version>1.2.5</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
然后再你的jsp的界面中导入
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
- 这样就可以通过${value} 来获取后端传递来的信息了
-
- 最初是我没有在第一行的utf8中导入 一个配置 isELIgnored=“false” 只有导入了这个参数才可以使用eq方法获取后端的参数