第一:以前的XML的MVC ActionForm和Action 是要分开的,现在用annotation方式,是不用分开的,用不同的注解参数就可以区别开。
如:
/**
* 查看访问策略列表
*
* @param type
* o:查看总的访问策略;1:查看session访问策略
* @param model
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(params = "action=list")
public String visitorPolicyList(@RequestParam("type")
int type, ModelMap model) {
if (logger.isDebugEnabled()) {
logger.debug("进入查看访问策略列表页面");
}
if (type == 0) {
if (logger.isDebugEnabled()) {
logger.debug("查看总的访问策略列表,type=" + type);
}
model.addAttribute("policy", this.visitorProxyManager
.getVisitorPolicies("policy"));
} else {
if (logger.isDebugEnabled()) {
logger.debug("查看session的访问策略列表 type=" + type);
}
model.addAttribute("policy", this.visitorProxyManager
.getVisitorPolicies("sessionPolicy"));
}
model.addAttribute("type", type);
return "console/visitorPolicyList";
}
/**
* 添加或修改访问策略
*
* @param url
* 目标URL
* @param model
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(params = "action=addOrUpdate", method = RequestMethod.GET)
public String addOrUpdateVisitorPolicy(@RequestParam("url")
String url, ModelMap model) {
Map policyMap = this.visitorProxyManager.getVisitorPolicies("policy");
if (!"".equals(url)) {
if (logger.isDebugEnabled()) {
logger.debug("修改访问策略");
}
model.addAttribute("policy", policyMap.get(url));
} else {
if (logger.isDebugEnabled()) {
logger.debug("新增访问策略");
}
model.addAttribute("policy", new VisitorPolicy());
}
return "console/visitorPolicyForm";
}
/**
* 保存访问策略
*
* @param policy
* @return
* @since maguangze@Jun 24, 2010
*/
@RequestMapping(method = RequestMethod.POST)
public String saveVisitorPolicy(@ModelAttribute("policy")
VisitorPolicy policy) {
if (logger.isDebugEnabled()) {
logger.debug("保存访问策略");
}
this.visitorProxyManager.addConfigPolicies(policy.getUrl().trim(),
policy.getAllowNum(), policy.getAllowIp().trim());
return "console/operateSuccess";
}
以上实现了可以查看列表,可以增加,修改策略。
容易出错点:
一:@RequestParam("url")String url 的使用,jsp页面的URL中必须带有url参数,否则报错
二:在新建对象的时候.model.addAttribute("policy", new VisitorPolicy());
new VisitorPolicy():这里必须是new 一个新对象,否则,JSP页面会报错
第三:在新建或者修改页面form标签要有<form:form modelAttribute="policy">modeAttribute属性。
在查看列表页面也要添加<form:form modelAttribute="policy">modeAttribute,否则没有数据
分享到:
相关推荐
Spring MVC Annotation验证方法 Spring MVC 框架提供了多种验证方法,其中一种常用的方式是使用Annotation验证。本文将详细介绍 Spring MVC Annotation验证的方法,包括使用 Spring MVC 自带的 Annotation 验证和...
在这个"FirstSpringWebApp"项目中,我们将深入探讨Spring MVC的核心概念和它在实际开发中的应用。 1. **Spring MVC概述** Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它遵循Model-View-Controller...
在本项目创建过程中,我们将深入探讨如何配置一个基本的 Spring MVC 项目。 首先,你需要在本地计算机上安装 Java JDK 和 Apache Maven,这两个是构建 Spring MVC 项目的基础。Java JDK 提供了运行和编译 Java 代码...
在实际开发中,`spring-mvc-4.2.xsd`通常被引用在Spring配置文件(如`applicationContext.xml`或`servlet-context.xml`)的顶部,通过`xsi:schemaLocation`属性来指定: ```xml <beans xmlns="http://www.spring...
弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...
十二、Spring MVC如何把全局异常记录到日志中:讲述了如何将异常信息记录到日志文件中,以便于问题的追踪和调试。 十三、如何给Spring3 MVC中的Action做JUnit单元测试:说明了如何对Spring MVC中的控制器进行单元...
在本文中,我们将深入探讨基于注解的Spring MVC基础知识,这是一种流行且强大的Java Web开发框架。首先,我们假设读者对基本的Web应用程序结构和配置文件有一定的了解,以及对Servlets有基本的认识。接下来,我们将...
在Spring MVC框架中,`mvc:annotation-driven`是Spring MVC配置中的一个重要元素,它使得我们...在实际项目中,开发者可以根据需求调整`mvc:annotation-driven`的配置,添加或移除特定的组件,以满足更具体的业务需求。
Spring框架是Java开发中不可或缺的一部分,它通过提供丰富的注解简化了依赖注入、配置管理和AOP(面向切面编程)等任务。...在实际开发中,根据项目需求选择合适的注解,可以有效地组织和管理代码,提升开发效率。
如果需要在同一个项目中集成Spring MVC和Struts2,需要谨慎处理请求分发和配置冲突。 总的来说,Spring MVC提供了一种灵活、高效的方式来组织和处理Web应用中的请求,它强大的功能和良好的社区支持使得它成为Java ...
在实际项目中,掌握Spring MVC 3.0不仅可以提高开发效率,还能确保应用的稳定性和扩展性。通过深入研究这份实战指南,开发者可以更好地理解和应用Spring MVC,从而提升其在Java Web开发领域的专业技能。
在实际开发中,Spring MVC提供了许多高级特性,如数据绑定、模型验证、本地化、主题支持、拦截器等,使得构建复杂的Web应用程序变得更加容易和灵活。通过深入学习和实践,你可以逐步掌握Spring MVC的更多功能,提升...
Spring MVC教程中还提到了<mvc:annotation-driven/>的作用,它实际上是一个自动扫描控制器和映射注解的配置,为开发者简化了控制器的配置过程。 在文件的描述中提到了Spring 3.0版本,这是Spring框架的一个重要版本...
八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? ...
创建Spring MVC项目的第一步是在IntelliJ IDEA中设置新项目。选择“New Project”,然后在“Project SDK”中选择Java版本。接下来,勾选“Spring Initializr”,并配置以下内容: 1. Group ID:你的组织或公司名。 2...
本节将深入探讨Spring MVC注解及其在实际应用中的实现方式。 首先,Spring MVC注解允许开发者以声明式的方式配置控制器,避免了传统的XML配置文件。这极大地简化了代码,提高了可读性和维护性。例如,`@...
Spring4 MVC Hibernate4集成,使用Annotation,封装dao层和service层。 环境: spring 4.0.3.RELEASE hibernate 4.3.5.Final mysql 5.1.29
八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? ...
创建一个新的Maven项目,并在`pom.xml`文件中添加Spring MVC的依赖: ```xml <groupId>org.springframework <artifactId>spring-webmvc <version>3.0.x.RELEASE <!-- 其他依赖,如servlet-api等 --> ``` ...
Spring MVC internationalization annotation example 这个是annotation 方式的国际化 访问http://localhost:8080/login.htm