Struts2----s标签库
来源:互联网 发布:linux网络配置文件 编辑:程序博客网 时间:2024/06/05 20:25
转自:http://blog.csdn.net/meaijojo/article/details/7536793
数据校验是在项目开发中不可缺少的一部分,用户登录时、密码验证时都需要,当然要做的首先是获得用户输入的内容,然后对内容进行验证,一般都是从数据库中读出然后校验,如果错误则显示提示信息,正确则进入用户主界面。
下面用一个简单小例子来说明下步骤:
1、index的表单
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!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">
- <base href="<%=basePath %>"/>
- <title>Insert title here</title>
- </head>
- <body>
- <h1>演示</h1>
- <form action="user/user!check" method="post">
- 姓名:<input type="text" name="user.name"></input>
- <br/>
- 年龄:<input type="text" name="user.age"></input>
- <br/>
- <input type="submit" value="提交"/>
- </form>
- </body>
- </html>
2、struts.xml配置
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <constant name="struts.devMode" value="true" />
- <package name="front" namespace="/user" extends="struts-default">
- <action name="user" class="com.myservice.web.UserAction">
- <result>/success.jsp</result>
- <result name="error">/error.jsp</result>
- </action>
- </package>
- </struts>
3、Action中的check方法内容
- public String check(){
- System.out.println("name="+user.getName());
- System.out.println("age="+user.getAge());
- if(user.getName().equals("admin")&&user.getAge()==20){
- return SUCCESS;
- }else{
- this.addFieldError("name", "name is error");
- this.addFieldError("name", "name is too long");
- return ERROR;
- }
- }
4、error.jsp页面
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@taglib uri="/struts-tags" prefix="s" %>
- <!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>
- </head>
- <body>
- <h2>验证失败</h2>
- <s:property value="errors.name[0]"/>
- <br>
- <s:property value="errors.name[1]"/>
- <s:debug></s:debug>
- </body>
- </html>
而倒数第四行和第六行是重点,errors.name[0]对应的就是我们在3中通过addFieldError方法,放入到name属性中的name is error,errors.name[1]则很明显是name is too long。倒数第三行是调试信息。
整个效果最后显示为:
- Struts2----s标签库
- struts2 s标签库详解
- Struts2标签库(4):<s:iterator/>
- Struts2标签库(6):<s:action/>
- Struts2标签库(7):<s:set/>
- Struts2标签库(10):<s:select/>
- Struts2标签库(11):<s:optgroup/>
- struts2 标签 s:select
- struts2 s 标签
- struts2, 标签, s:iterator
- struts2 s:select 标签
- struts2 s:select 标签
- struts2 标签 s:select
- struts2 s:select 标签
- struts2--<s:debug>标签
- struts2标签:<s:generator>
- struts2 s标签
- Struts2标签<s:url>
- 用c++二维数组玩点阵数字显示
- java 命令常用链接
- 基于消息的分布式架构设计
- activeMQ是神马?
- 系统启动详解
- Struts2----s标签库
- 采购订单状态更改处理API
- linux 设置路由器
- ubuntu 安装java
- AP模块NOTE修改API
- 杨辉三角
- hdu1874 畅通工程续---dij
- 4卡结束的遇到问题
- 为什么要每天这样