`
阅读更多

包含内容:

使用正则表达式进行表单验证

消息文件绑定

错误消息显示

web.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>

<web-app>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/web-inf/struts-bean.tld</taglib-uri>
<taglib-location>/web-inf/struts-bean.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/web-inf/struts-html.tld</taglib-uri>
<taglib-location>/web-inf/struts-html.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>/web-inf/struts-logic.tld</taglib-uri>
<taglib-location>/web-inf/struts-logic.tld</taglib-location>
</taglib>
</web-app>

struts-config.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE struts-config PUBLIC '-//Apache Software Foundation//DTD Struts Configuration 1.1//EN' 'http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd'>

<struts-config>
<form-beans>
<form-bean name="helloBean" type="test.HelloBean" />
</form-beans>
<action-mappings>
<action path="/HelloAction" type="test.HelloAction" name="helloBean" scope="request" validate="true" input="/error.jsp">
<forward name="sayHello" path="/hello.jsp" />
</action>
</action-mappings>
<message-resources parameter="test.application"/> //消息文件绑定
</struts-config>

HelloBean.java

package test;

import org.apache.struts.action.*;
import org.apache.struts.util.*;
import javax.servlet.http.*;
import java.util.regex.*;

public class HelloBean extends ActionForm {
private String word;
public void setWord(String word) {
this.word = word;
}
public String getWord() {
return this.word;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
this.word = null;
}
private boolean match(String str) {
Pattern p = Pattern.compile("[^0-9]+");//使用正则表达式进行表单验证
Matcher m = p.matcher(str);
return m.matches();
}
public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if (word == null || !match(word)) {
errors.add("word", new ActionMessage("error.key"));
}
return errors;
}
}

HelloAction.java

package test;

import org.apache.struts.action.*;
import javax.servlet.http.*;
import javax.servlet.*;
import org.apache.struts.util.*;

public class HelloAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
MessageResources mess = getResources(request);
String wordKey = mess.getMessage("word.key");
String helloKey = mess.getMessage("hello.key");
System.out.println(wordKey + "," + helloKey);
String word = request.getParameter(wordKey);
System.out.println(word);
HelloBean myForm = (HelloBean) form;
myForm.setWord(word);
myForm.setWord(helloKey + ", " + myForm.getWord());
return mapping.findForward("sayHello");
}
}

hello.jsp

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html:html locale="true">
<head>
<html:base/>
</head>
<body>
<logic:present name="helloBean" scope="request">
<bean:message key="aaaa.key" />
</logic:present>
<logic:notPresent name="helloBean" scope="request">
<bean:message key="bbbb.key" />
</logic:notPresent>
<br>
<bean:write name="helloBean" property="word" />
</body>
</html:html>

error.jsp

<%@ page contentType="text/html;charset=GBK" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<html:errors/> //错误消息显示

/WEB-INF/classes/test/application.properties

word.key=word
hello.key=hello
aaaa.key=this bean is present.
bbbb.key=this bean isn't present.
error.key=raise a error, please check!

结果:

http://localhost:2000/test3/HelloAction.do?word=bitan

this bean is present.
hello, bitan

http://localhost:2000/test3/HelloAction.do?word=b123n

raise a error, please check!

分享到:
评论

相关推荐

    struts简单例子(4)

    这个"struts简单例子(4)"是一个专门为初学者准备的教程,旨在帮助他们理解并掌握Struts框架的基础用法。 在Struts框架中,模型(Model)通常由业务逻辑组件构成,负责处理数据;视图(View)是用户界面,展示数据;...

    struts 简单例子

    这个"struts 简单例子"很可能是为了帮助初学者理解Struts框架的基本工作原理和流程,特别是如何实现登录和注册功能。下面我们将深入探讨Struts框架的核心概念、配置以及在实际应用中的步骤。 1. **Struts框架基础**...

    图片注释struts简单实例2.rar

    这个"图片注释struts简单实例2.rar"是一个压缩包,包含了关于如何使用Struts进行图片注释处理的简单示例。 在这个实例中,我们可以推测主要包含以下几个关键知识点: 1. **MVC设计模式**:Struts遵循MVC设计模式,...

    struts简单例子(1)

    这个“struts简单例子(1)”是为了帮助初学者理解并掌握Struts框架的基本用法。通过这个例子,你可以学习到如何在实际项目中应用Struts的核心概念和技术。 1. **MVC模式**: MVC模式是一种软件设计模式,用于分离...

    struts2简单例子

    这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识。 1. **MVC架构**: MVC模式是软件设计中的一个经典模式,它将应用逻辑分为三个主要部分:...

    struts简单例子(3)

    这个“struts简单例子(3)”是为初学者准备的一个教程,目的是帮助他们理解如何在实际项目中运用Struts框架。 在Struts MVC框架中: 1. **模型(Model)**:代表应用程序的核心业务逻辑。在这个例子中,可能会有一...

    struts2的简单实例

    这个“struts2的简单实例”将带你了解如何在实际项目中使用Struts2。 首先,我们需要理解Struts2的核心概念: 1. **Action类**:这是业务逻辑的载体,负责处理来自用户的请求。Action类通常继承自`...

    struts简单例子(2)

    这个“struts简单例子(2)”是为了帮助初学者理解并掌握Struts 2框架的基本用法。在深入讲解之前,我们先来了解一下MVC模式的基本概念。 MVC模式是软件工程中的一种设计模式,它将应用程序分为三个核心部分:模型...

    eclipse struts 简单实例图解

    在本实例中,我们将使用Eclipse IDE而非MyEclipse来创建一个简单的Struts项目。 首先,确保你已经安装了Eclipse 3.3版本或更高,这是开发Java Web项目的必备工具。为了支持Web开发,你需要安装Web Tools Platform ...

    struts简单例子

    这个“struts简单例子”是为了帮助初学者快速理解和应用Struts框架的核心概念。在这个小实例中,我们将探讨以下几个关键知识点: 1. **MVC模式**:Struts遵循Model-View-Controller(MVC)设计模式,将业务逻辑、...

    struts简单实例详解

    本实例将深入浅出地介绍如何使用Struts进行简单的Web应用开发。 首先,理解MVC模式至关重要。在MVC模式中,Model代表业务逻辑,负责处理数据;View是用户界面,展示数据;Controller作为两者之间的桥梁,接收用户...

    eclipse struts简单实例2

    在本文中,我们将深入探讨如何在Eclipse环境中创建一个简单的Struts应用实例,结合`validator`验证和资源文件的使用。我们将逐步介绍每个步骤,确保您能够理解并成功实现这个Struts1.39版本的示例。 首先,我们需要...

    struts简单例子的分析

    这个简单的例子旨在帮助初学者理解Struts框架的基本工作原理。 首先,我们需要配置开发环境。在这个例子中,我们需要安装JDK,部署Tomcat服务器,并设置相应的环境变量。JDK的安装位置不固定,但在这个例子中假设...

    struts2简单实例

    总结,"struts2简单实例"展示了如何使用Struts2框架构建一个简单的学生信息查询功能,涵盖了配置文件、Action实现、数据传输以及视图展示等多个方面,是学习和理解Struts2工作原理的好例子。通过这个实例,开发者...

    Struts2简单实例

    通过这个简单的实例,你已经初步了解了Struts2的工作原理和基本操作。在实际开发中,你可以根据需求添加更多的Action、拦截器和结果类型,实现更复杂的业务逻辑和页面跳转。同时,Struts2还提供了丰富的插件和第三方...

    struts2实例项目

    struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例

    struts2简单例子源码

    通过学习这个简单的Struts2例子,你可以了解到如何在实际项目中应用Struts2的类型转换和验证功能,这对于提高代码质量和用户体验都有着重要的作用。同时,这也是深入理解Struts2框架、提升Java Web开发技能的好途径...

    struts2入门例子

    实践这个例子,你可以了解到如何设置一个简单的Struts2应用,从而为进一步学习更复杂的特性如国际化、文件上传、异常处理等奠定基础。 总之,Struts2是一个强大的MVC框架,它的核心在于`struts.xml`配置文件,通过...

    一个Struts的简单例子

    这个“一个Struts的简单例子”提供了一个基础的用户登录应用,非常适合初学者了解和学习Struts框架的基本用法。下面将详细解释这个例子中的关键知识点。 1. **MVC设计模式**: MVC模式是Web应用程序开发中常见的...

Global site tag (gtag.js) - Google Analytics