`
guanxi
  • 浏览: 41548 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SpringMVC 做服务端数据验证

阅读更多
@Entity
@Table(name = "menu_menu")
public class Menu {
	@Id
	@Column(name = "id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Integer id;
	
	@Size(min = 4, max = 20, message = "菜单名称长度必须位于5到20之间") 
	@Column(name = "name")
	private String name;
	
//	@Email(message = "必须是Email 格式")
	@Column(name = "href")
	private String href;
	
	@Column(name = "father_id")
	private Integer parent;
	

 我们可以直接在实体类中加入验证, @Size(min = 4, max = 20, message = "菜单名称长度必须位于5到20之间")

 

   在 Controllor 管理中,

      

@RequestMapping("/menu/save")
	public String saveMenu(@Valid @ModelAttribute Menu menu, BindingResult result,SessionStatus status) {
		if (result.hasErrors()) {
			return "/menu/edit";
		} else {
			baseDAO.saveObject(menu);
			status.setComplete();
			return "redirect:/menu/index";
		}

	}

 表单保存时候 在保存函数 加入@Valid  验证

 

 页面上加入如下代码:

<form class="form-horizontal" action="#" th:action="@{/menu/save}" th:object="${menu}" method="post">

  <input type="hidden" id="id" name="id"  th:field="*{id}"/>
  <div class="form-group">
    <label for="name" class="col-sm-2 control-label">名称</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" id="name" placeholder="菜单名称" name="name"  th:field="*{name}"/>
      <span th:if="${#fields.hasErrors('name')}" th:errors="*{name}">Name Error</span>
    </div> 

 

显示效果如下, 是不是很简单?

    



 

    当然,一般配合 jquery.form.validata 做前端的表单验证。 

     完整工程代码如下:

                     https://github.com/guanry/wmshop.git



 

    配置后本地访问地址:

 

              http://127.0.0.1:8080/menu/index   

      

  下面需要处理国际化的问题

 

  • 大小: 19.1 KB
  • 大小: 33.9 KB
分享到:
评论

相关推荐

    spring mvc服务端表单验证实例

    在Spring MVC框架中,服务端表单验证是一个关键的步骤,确保从客户端接收到的数据是有效和安全的。本实例提供了完整的代码和配置,让你能够快速理解和应用服务端验证。以下是对这个实例的详细解析: 1. **Spring ...

    企业支付宝开发java-springmvc

    开发者在请求和响应时都需要计算签名,验证数据的完整性和来源。在Java中,这通常涉及到对参数排序、拼接、加密(如MD5)等步骤。 4. **异步通知与同步确认**:支付宝在完成交易后,会通过异步通知的方式将交易结果...

    SpringMVC+sqlitejdbc的jar集合

    SpringMVC和SQLiteJDBC是两个在Java开发中常见的组件,它们分别用于构建Web应用程序和服务端数据存储。这里我们详细探讨这两个技术以及它们如何协同工作。 **SpringMVC** SpringMVC是Spring框架的一个模块,专门...

    SpringMVC完整使用教程

    SpringMVC 结合 Hibernate Validator 或 JSR-303 规范,提供了强大的数据验证功能。通过 `@Valid` 注解和自定义校验注解,可以在服务端进行表单验证。 ### 第 8 章 文件上传与下载 SpringMVC 支持文件上传和下载...

    Maven+Spring MVC +Hibernate Validate(服务端验证)

    这个项目展示了如何整合这些工具来实现高效的服务端数据验证。 **Maven** 是一个流行的项目管理和构建工具,它简化了Java项目的构建过程,通过管理依赖关系,自动化构建流程,并提供一套标准的项目结构。在本项目中...

    Spring+ibatis+struts框架整合+springmvc数据接口封装含数据表可直接运行

    相比于Struts,Spring MVC提供了更为灵活的配置和更强大的功能,例如类型安全的参数绑定、数据验证、本地化和主题支持。在这个项目中,Spring MVC可能被用来替换或与Struts协同工作,提供数据接口,以服务端RESTful ...

    cas结合 springmvc shiro 单点登录

    1. **CAS服务端配置**:首先,我们需要搭建CAS服务器,这通常涉及安装CAS服务器软件,配置服务器端的认证逻辑,例如数据库连接以验证用户凭证。 2. **CAS客户端配置**:然后,我们需要在SpringMVC应用中配置CAS...

    oauth+springmvc小demo

    在这个"oauth+springmvc小demo"中,我们将会探讨如何将 OAuth 身份验证框架与 SpringMVC 框架结合起来,创建一个安全的、可扩展的应用程序。 OAuth 是一个授权协议,它允许第三方应用在用户许可的情况下访问特定的...

    springmvc4.1.6-libs

    4. **数据绑定与验证**:Spring MVC 支持自动将请求参数绑定到处理器方法的参数上,同时提供了数据验证机制,可以方便地进行客户端和服务端的数据验证。 5. **模型数据共享**:ModelAndView 对象用于在控制器和视图...

    springMVC的demo

    通过学习这个示例,你可以了解到如何设置SpringMVC环境,创建控制器,处理请求,以及如何进行数据绑定、异常处理和验证。这对于理解和掌握SpringMVC的运作机制至关重要。在实际开发中,你可以根据需求调整和扩展这些...

    volley图片上传服务端

    5. **安全性考虑**:服务端应确保上传安全,避免XSS和CSRF攻击,可以通过验证令牌或设置过滤规则实现。 6. **性能优化**:为了提高服务端处理效率,可以考虑异步处理图片上传,使用多线程或任务队列。 通过上述...

    springMVC+hibernate+webservice

    【SpringMVC】作为Spring框架的核心组件,SpringMVC提供了许多功能,如请求调度、视图解析、数据绑定、验证和异常处理。开发者可以通过配置或注解来定义控制器方法,这些方法将处理来自客户端的请求,并返回相应的...

    SpringMVC API

    这些API的接口设计遵循REST原则,使得客户端可以通过简单的HTTP请求就能与服务端交互,实现数据的增删改查。 为了测试这些API,可以使用工具如Postman或curl,发送不同类型的HTTP请求到指定的URL,并检查返回的HTTP...

    Spring+SpringMVC+Ehcache+Shiro+BootStrap企业级开发平台

    服务端验证:Blade Validator 任务调度:Spring Task 持久层框架:beetlsql 模板引擎:beetl 数据库连接池:Alibaba Druid 缓存框架:Ehcache 日志管理:SLF4J、LOGBACKUP 工具类:Apache Commons、FastJson...

    SpringMVC注解开发的详解.doc

    在数据校验方面,SpringMVC支持使用Hibernate Validator进行服务端验证。这通常在控制器的处理方法中进行,以确保传入的参数符合业务规则。例如,我们可以使用`@NotNull`、`@Size`等注解来约束参数: ```java @...

    springmvc+webservice

    总之,"springmvc+webservice"的结合利用了Spring MVC的灵活性和WebService的互操作性,使得服务端能够提供标准的Web服务接口,而客户端则可以通过简单的调用来使用这些服务。Apache CXF作为连接这两者的桥梁,简化...

    完整版 Java开发实训课程系列-SpringMVC框架技术教程 第5章 数据校验 (共26页).pptx

    而后端校验,尤其是在服务端如SpringMVC的控制器层执行,可以对所有类型的客户端请求进行校验,包括浏览器、移动应用和API调用。业务层和服务层也需进行校验,尤其是关键业务参数的校验,而持久层一般不包含校验逻辑...

    SpringMvc 简单分页

    9. **安全考虑**:防止恶意请求,如过大的页码值,确保服务端对输入进行验证和限制。 10. **性能优化**:在处理大数据量时,避免一次性加载过多数据,使用懒加载策略。此外,可以利用缓存技术(如Redis)提高分页...

    web前端与springmvc文档

    JavaScript是前端的灵魂,它赋予网页动态交互的能力,包括响应式行为、数据验证、AJAX异步请求等。 Web前端的发展也催生了各种框架和库,如React、Vue.js、Angular等,它们提高了开发效率并提供了更好的用户体验。...

Global site tag (gtag.js) - Google Analytics