SpringMVC中的自定义视图使用
实现的基本步骤:
- 编写自定义view
- 进行springmvc配置文件的配置
- 实现到目标方法的链接
- 在控制层添加目标方法
项目基本结构
1.在com.springmvc.view包下编写自定义view
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.View;
@Component
public class HelloView implements View {
@Override
public String getContentType() {
return "text/html";
}
@Override
public void render(Map<String, ?> arg0, HttpServletRequest arg1,HttpServletResponse arg2) throws Exception {
arg2.setHeader("Content-type", "text/html;charset=UTF-8");
arg2.setCharacterEncoding("UTF-8");
arg2.getWriter().print("hello view:" + new Date());
}
}
**注意:我们定义的视图类要加上注解@Component
2.进行springmvc配置文件的配置
<!-- 让spring扫描你注解的包 -->
<context:component-scan base-package="com.springmvc.view"></context:component-scan>
<!-- 配置自定义view的解析器 -->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="100"></property>
</bean>
注意:order的值越小优先级越高,当有多个视图解析器时,先通过优先级高的视图解析器来解析,如果不行,再由优先级低的视图解析器去解析。
3.实现到目标方法的链接
<a href="springmvc/helloView">This MyView</a><br>
注意:href里面的"helloView",
要和目标方法的@RequestMapping("/helloView")一致
4.在控制层添加目标方法
@RequestMapping("/springmvc")
@Controller
public class Helloword {
@RequestMapping("/helloView")
public String view() {
return "helloView";
}
...
}
注意:return “helloView”,首字母要小写;我们自定义的视图是HelloView,spring容器会帮我们自动去找对应的方法来实例对象。
###运行结果
OK,到此结束,一个简单的自定义视图使用完成。