在myeclipse里新建web项目,加上struts特性,struts1.1
新建actionform
/*
*@(#){file_name} Aug 3, 2010
*
*Copyright 2010 Zhoujunmei.
*/
package struts.actionform;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
public class HelloActionForm extends ActionForm {
String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
//即使有此方法,如果struts-config配置文件中不是validate="true",也不执行
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){
ActionErrors errors = new ActionErrors();
if(username.equals("")){
// error.errornoname为资源文件中的错误信息的key如error.errornoname=。。
ActionError error = new ActionError("error.errornoname");
//usernameinvalid为 <html:errors property = "usernameinvalid" />所用,
// 显示资源文件中的错误信息的key为error.errornoname的value值
errors.add("usernameinvalid",error);
}
return errors;
}
public void reset(ActionMapping mapping,HttpServletRequest request){
}
}
新建action
HelloAction代码
/*
*@(#){file_name} Aug 3, 2010
*
*Copyright 2010 Zhoujunmei.
*/
package struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import struts.actionform.HelloActionForm;
public class HelloAction extends Action {
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest servletRequest,
HttpServletResponse servletResponse) {
HelloActionForm helloActionForm = (HelloActionForm) actionForm;
return actionMapping.findForward("success");
}
}
jsp页面
who.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<form method="post" name="divisionForm" action="HelloAction.do">
<hr>谁想说?<hr>
<br>
请输入想说话的人的名字(仅限输入英文字母):<input type="text" name="username" value="">
<br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
whosay.jsp
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="struts.actionform.*"%>
<!-- 直接用struts的标签库 -->
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<html:errors property = "usernameinvalid" />
<% HelloActionForm helloActionForm = (HelloActionForm)request.getAttribute("helloform"); %>
<%= new String(helloActionForm.getUsername().getBytes("ISO8859-1"),"GBK")%>说:“Hello World”
<!-- 直接用jsp内置对象即可,中文乱码解决 -->
<%= new String(request.getParameter("username").getBytes("ISO8859-1"),"GBK") %>说:“Hello World”
</body>
</html>
error.jsp
<%@ page language="java" pageEncoding="gb2312"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'error.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
从资源文件中取得的对应错误信息:<html:errors/><br><br>
出错了 <br>
</body>
</html>
struts-config。xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans >
<form-bean name="helloform" type="struts.actionform.HelloActionForm"></form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<!-- 一旦页面有错,就转向input设置的jsp页面 -->
<action
attribute="helloform"
input="/error.jsp"
name="helloform"
parameter="methode"
path="/HelloAction"
scope="request"
type="struts.action.HelloAction"
validate="true"> <!-- actionform里有validate方法,使之有效 -->
<forward name="success" path="/WhoSayHelloWorld.jsp" />
</action>
</action-mappings>
<!-- 只有一个资源配置文件,可以不指定key -->
<message-resources parameter="struts.ApplicationResources" />
</struts-config>
资源文件和web.xml见附件
分享到:
相关推荐
本教程“helloWorld-struts2.0.14.rar”旨在为初学者提供一个清晰易懂的入门起点,通过一个简单的实例帮助理解Struts2的核心概念和配置。 首先,Struts2.0.14是该框架的一个早期版本,它在当时的Java社区中广泛使用...
在“struts零配置HelloWorld-Annotation”这个项目中,我们将重点探讨如何利用注解来实现Struts2框架的配置,这对于初学者来说是一个很好的起点。 在传统的Struts2配置中,我们需要在`struts.xml`文件中手动定义每...
这个"HelloWorld-Dwr"示例是一个基础教程,展示了如何使用DWR来实现简单的远程方法调用。 首先,我们需要在项目中导入必要的库。DWR的核心库是dwr.jar,还需要commons-logging-1.0.4.jar,这是一个日志处理库,通常...
《Struts2 权威指南》第二章 Struts2 下的HelloWorld测程序源码2
"Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...
这个"jamesby-struts2-helloworld.rar"压缩包提供了一个基础的Struts2入门示例,名为“helloworld”,对于初学者了解和学习Struts2的工作原理非常有帮助。 首先,我们来看看"index.jsp"。这通常是一个应用的入口点...
<package name="helloworld" namespace="/" extends="struts-default"> <action name="hello" class="com.yourcompany.HelloworldAction"> <result name="success">/hello.jsp </struts> ``` 这个配置文件...
本教程将详细介绍如何在MyEclipse 6.5.0 GA环境中搭建Struts2.0开发环境并实现一个简单的"HelloWorld"应用。 首先,你需要访问Apache Struts的官方网站(http://struts.apache.org/download.cgi#struts216)下载...
<package name="default" namespace="/" extends="struts-default"> <action name="hello" class="com.example.HelloWorldAction"> <result name="success">/HelloWorld.jsp ``` 在这个配置中,`hello`是...
<package name="default" namespace="/" extends="struts-default"> <action name="hello" class="com.yourpackage.HelloWorldAction"> <result name="success">/HelloWorld.jsp </struts> ``` 在这里,我们...
<package name="default" namespace="/" extends="struts-default"> <action name="helloWorld" class="com.yourpackage.HelloWorldAction"> <result name="success">/HelloWorld.jsp ``` 3. **创建JSP页面**...
<package name="helloworld" namespace="/" extends="struts-default"> <action name="hello" class="com.example.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp </struts> `...
<package name="default" namespace="/" extends="struts-default"> <action name="hello" class="com.yourpackage.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp </struts> ...
在这个"Struts2 HelloWorld"程序中,我们将深入理解Struts2的基本结构和配置,以及如何创建第一个简单的应用。 首先,让我们从环境搭建开始。为了运行Struts2的HelloWorld程序,你需要安装Java Development Kit ...
在本教程中,我们将深入探讨Struts2的基础知识,通过一个"Struts2-HelloWorld"实例来演示如何在实际项目中应用Struts2。 首先,让我们了解Servlet。Servlet是Java编程语言中用于扩展服务器功能的接口。它处理HTTP...
这个"struts-helloworld.zip"压缩包是为初学者准备的一个入门示例,旨在帮助理解Struts2框架的基础工作原理。 首先,让我们了解一下Struts2框架的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的...
从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...
<package name="default" extends="struts-default"> <action name="hello" class="com.example.HelloWorldAction" method="execute"> <result name="success">/HelloWorld.jsp ``` 这里,`name="hello"`指定...
第一个struts框架的完成,使用eclipse写的。第一次写其实是在半年前,现在再重新写,真是错误连篇,最讨厌的是报404错误。首先检查tomcat部署时,有什么错误,针对性解决,大多是因为jar包多了或者少了。有时,jar包...