当前位置: 首页 > 编程日记 > 正文

web11 Struts处理表单数据

电影网站:www.aikan66.com 

项目网站:www.aikan66.com 
游戏网站:www.aikan66.com 
图片网站:www.aikan66.com 
书籍网站:www.aikan66.com 
学习网站:www.aikan66.com 
Java网站:www.aikan66.com 
iOS网站:www.aikan66.com

----

Struts框架中通过Action的结果映射配置返回视图,Action对象是Struts2框架中的请求处理对象那,针对不同的业务请求及处理结果,Action将返回一个字符串,这个字符串就是Action处理结果的逻辑名,Struts2框架将更加逻辑视图名称,到配置文件struts.xml中查找逻辑视图名称匹配的视图,找到之后将这个视图回应给浏览器。

----

要求:编写Action对象,处理对表单提交的数据,模拟实现对指定用户的问候。

----

1、创建web项目,jwrm04-helloToSB,把包添加到lib,web.xml中注册过滤器。(详见web08)。

----

2、创建类GreetingAction的Action对象。

package dog;import com.opensymphony.xwork2.ActionSupport;public class GreetingAction extends ActionSupport{private static final long serialVersionUID=1L;//用户名private String username;//处理请求
    @Overridepublic String execute() throws Exception{//判断用户名是否有效if(username==null||"".equals(username)){//返回到错误页面return ERROR;}else{//返回到成功界面return SUCCESS;}}//username的getter方法public String getUsername(){return username;}//username的setter方法public void setUsername(String username){this.username=username;}
}

GreetingAction类用于对表单提交的username进行处理。

----

3、配置struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd">
<struts><!-- 声明包 --><package name="myPackage" extends="struts-default"><!-- 定义action --><action name="greeting" class="dog.GreetingAction"><!-- 定义成功的映射页面 --><result name="success">success.jsp</result><!-- 定义失败的映射页面 --><result name="error">error.jsp</result></action></package> 
</struts>

就是说,当web应用访问目录下“greeting”时,将有GreetingAction类对请求作出处理。

----
4、index.jsp

<%@ page language="java" import="java.util.*" 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">
<html><head><base href="<%=basePath%>"><title>My JSP 'index.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><form action="greeting.action" method="post">请输入您的姓名:<input type="text" name="username"><input type="submit" value="提交"></form></body>
</html>

----

5、创建success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>My JSP 'success.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><font color="red"><s:property value="username"/></font>,您好!欢迎来到本站。</body>
</html>

类似,创建error.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><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><font color="red">错误,您没有输入用户名!</font></body>
</html>

----

6、部署,访问:http://localhost:8080/jwrm04-helloToSB/index.jsp

点击“提交”

输入框为空时点击“提交”

----

完毕

转载于:https://www.cnblogs.com/zhaixing/p/5716154.html

相关文章:

瀑布流开源这两天

想必第一眼看到 Masonery 效果的人们会和当初的我有同样的感觉&#xff0c;惊艳&#xff01;尤其是在你双击浏览器标题栏的空白处之后&#xff0c;所有的区块都在默默寻找自己的位置&#xff0c;无论大小&#xff0c;就像上海虹桥火车站涌入地铁的人群。和技术实现无关&#xf…

iOS网络请求总结

*说明&#xff1a;文章中HTTP为宏定义的http地址&#xff0c;事例通过app_login.action的接口&#xff0c;通过传递policyNum、plateNum、phoneNum三个参数进行登录操作 一、方法1&#xff1a; Foundation框架 NSURLConnection &#xff08;1&#xff09;同步请求&#xff1a;同…

MongoDB数据库(一:基本操作)

1、创建名称为自己姓名拼音缩写的数据库&#xff1b; 2、创建名为姓名拼音缩写col的集合&#xff0c;如dugncol&#xff1b; 3、删除2中的集合&#xff0c;重新创建格式如dugncolnew的集合&#xff1b; 4、在3创建的集合中&#xff0c;插入10条文档数据&#xff0c;要求分别插入…

NYOJ--811--变态最大值

/*Name: NYOJ--811--变态最大值Author: shen_渊 Date: 17/04/17 15:49Description: 看到博客上这道题浏览量最高&#xff0c;原来的代码就看不下去了 o(╯□╰)o */#include<cstring> #include<iostream> #include<algorithm> using namespace std; struct…

扩展的八皇后问题

百度百科&#xff1a;八皇后问题是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a;在8X8格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同…

C++ 常用函数方法

/* * 拆分字符串 * 参数&#xff1a; * strData 字符串 * split 分隔符 * 返回&#xff1a; * 返回动态数组std::vector<std::string> ,记得要delete 内存 */ std::vector<std::string>* GetStringArray(char* strData,char* split)…

MongoDB数据库(二:高级操作)

练习一、完成使用Java代码连接MOngoDB&#xff0c;创建集合&#xff0c;获取集合&#xff0c;插入文档&#xff0c;检 索所有文档&#xff0c;更新文档&#xff0c;删除第一个文档。 a&#xff09;连接MOngoDB b)创建集合 c)获取集合 d)插入文档 e)检索所有文档 f)更新文档 g)…

将XML转为HTML

文章参考&#xff1a;http://dreamweaver.abang.com/od/html/a/xml2html3.htm http://www.w3school.com.cn/xml/xml_xsl.asp ParseXML2HTML.xsl&#xff1a;代码如下 1 <?xml version"1.0" encoding"utf-8"?> 2 <xsl:styleshee…

Linux运维相关目录

Linux——相关运维配置文档目录 tcp 三次握手yum 配置你对linux了解多少&#xff0c;Linux 系统结构详解&#xff01;Linux LAMP环境搭建Centos6.7安装Apache2.4Mysql5.6Apache2.4Linux搭建DNS服务器Nginx概念及基础安装--详细讲解深入NginxNginx的继续深入&#xff08;日志轮询…

iOS8底部弹出日期选择或自定义选择器的方法

本文需要实现的日期选择器和自定义选择器效果如下&#xff1a; 在iOS8之前&#xff0c;可以通过UIActionSheet来实现&#xff0c;在iOS8之后&#xff0c;可以通过UIAlertController实现&#xff0c;UIAlertController的官方解释如下&#xff1a; A UIAlertController object d…

HDFS_API基本应用

实验 目的 要求 目的&#xff1a; 了解HDFS文件系统&#xff1b;掌握HDFS的架构及核心组件的职能&#xff1b;掌握HDFS数据的读写操作&#xff1b;HDFS常用操作&#xff08;Shell。Java API&#xff09;了解Hadoop2.0中HDFS相关的新特性 实 验 环 境 Java jdk 1.8&…

Docker 清理命令集锦

杀死所有正在运行的容器 复制代码代码如下:docker kill $(docker ps -a -q)删除所有已经停止的容器 复制代码代码如下:docker rm $(docker ps -a -q)删除所有未打 dangling 标签的镜像 复制代码代码如下:docker rmi $(docker images -q -f danglingtrue)删除所有镜像 复制代码代…

CentOS 6.4下编译安装MySQL 5.6.14

概述&#xff1a; CentOS 6.4下通过yum安装的MySQL是5.1版的&#xff0c;比较老&#xff0c;所以就想通过源代码安装高版本的5.6.14。 正文&#xff1a; 一&#xff1a;卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉…

iOS实现图片自动轮播展示

一、需要实现的效果如下图1&#xff0c;首页图片自动轮播展示&#xff0c;其中图片从网络异步加载&#xff0c;加载过程用风火轮显示加载中&#xff0c;如图2。 本文参考了以下博客文章&#xff1a; http://www.haodaima.net/art/2687144 http://www.cnblogs.com/xiaobaizhu/a…

Hadoop_MapReduce的基本应用

实验 目的 要求 目的&#xff1a; 了解MapReduce掌握MapReduce编程模型掌握MapReduce常见核心API编程MapReduce开发常用功能 实 验 环 境 Java jdk 1.8&#xff1b;apache-maven-3.6.0&#xff1b;Myeclipse C10&#xff1b;Hadoop集群&#xff1b;练习内容 任务一&…

Android源码编译过程之九鼎开发板

1 build_kernel()2 {3 # 进入源码顶层目录4 cd ${BS_DIR_KERNEL} || return 15 # 编译配置文件6 make ${BS_CONFIG_KERNEL} ARCHarm CROSS_COMPILE${BS_CROSS_TOOLCHAIN_KERNEL} || return 17 # 编译内核uImage&#xff08;arm架构、交…

eaccelerator 完全手册:配置、控制、API接口

安装官方有很详细的文档 转自 http://www.enjoyphp.com/2010/eaccelerator-manual/ 配置选项 eaccelerator.shm_size指定 eAccelerator 能够使用的共享内存数量&#xff0c;单位: MB. “0″ 代表操作系统默认。默认值为 “0″。 eaccelerator.cache_dir用户磁盘缓存的目录。eAc…

iOS解决键盘阻挡输入框

解决思路&#xff1a;有时用户编辑输入框时&#xff0c;键盘会遮挡输入框&#xff0c;这时候只要将视图整体上移键盘的高度即可&#xff0c;编辑完成后再将视图下移键盘的高度恢复正常显示。 【方法1】 实现UITextField代理UITextFieldDelegat的两个方法textFieldShouldBegin…

HBASE_API的应用

实验 目的 要求 目的&#xff1a; 掌握HBase编程&#xff1b;搭建HBase编程环境&#xff1b;配置Myeclipse引入对应的jar包&#xff1b; 实 验 环 境 Java jdk 1.8&#xff1b;apache-maven-3.6.0&#xff1b;Myeclipse C10&#xff1b;Hadoop集群&#…

Linux进程间通信--信号

signal 一、初步理解信号 为了理解信号 ,先从我们最熟悉的场景说起: 1.用户输入命令,在Shell下启动一个前台进程。 2.用户按下Ctrl-C,这个键盘输入产生一个硬件中断。 3.如果CPU当前正在执行这个进程的代码,则该进程的用户空间代码暂停执行,CPU从用户态切换到…

如何优化cocos2d程序的内存使用和程序大小:第一部分

译者&#xff1a; 在我完成第一个游戏项目的时候&#xff0c;我深切地意识到“使用cocos2d来制作游戏的开发者们&#xff0c;他们大多会被cocos2d的内存问题所困扰”。而我刚开始接触cocos2d的时候&#xff0c;社区里面的人们讨论了一个非常有意义的话题&#xff1a;“请简单地…

UILayer的一些属性

iOS创建UIView是直接在Core Animation layers上进行绘制&#xff0c;每一个UIView实例都会自动创建CALayer的实例&#xff0c;并且设置为UIView实例的layer属性。 以下事例通过设置UIImageView的layer&#xff0c;实现阴影、圆角、边框和旋转缩放等效果 -(void)initImgView{UI…

Hive的基本应用

实验 目的 要求 目的&#xff1a; 了解Hive架构&#xff0c;掌握Hive环境部署&#xff1b;了解Hive与Hadoop及传统关系型数据库的对比&#xff1b;掌握Hive中DDL和DML的使用&#xff1b;了解Hive高级应用&#xff1b;Hive内置函数使用及Hive自定义函数&#xff1b;了解Hive常…

template

//引入包<script type"text/javascript" src../template.js></script> //定义一个有ID的script标签&#xff1a;<script idtem type"text/html"> <h4>{{name}}</h4> <ul> {{each films as value}} <li> <str…

UICollectionView的基本使用(1)

如果是简单实用UICollectionView的话&#xff0c;用法和UITableView基本一致。下面是用UICollectionView实现的简单图片显示 &#xff08;1&#xff09;打开storyboard&#xff0c;将一个UICollectionView拖到View Controller Scene中&#xff0c;默认的UICollectionView已经包…

SQL Server的数据库连接的极限在哪儿?

在软件设计中&#xff0c;关于多层的设计&#xff0c;有一部份是有关数据库的。 设计上分成这样三层 客户端UI -- 应用服务器 -- 数据库服务器 有个说法是&#xff0c;可以在应用服务器这一层共享使用数据库连接池&#xff0c;从而减轻数据库服务器的负担。 我查了好多资料&…

Docker的使用(五:Docker中的网络与数据管理)

实验环境 三台运行有Ubuntu 16.04 操作系统的虚拟机&#xff0c;并每台主机中已安装docker环境&#xff1b; 学习目标 docker的网络管理docker Swarm集群的使用Volume数据卷的使用 实验内容 任务一&#xff1a;Docker网络管理 1、Docker默认网络管理 docker安装时自动创建…

Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解

在Junit4中还有的测试注解有&#xff1a; BeforeClass &#xff0c;Before&#xff0c;Test&#xff0c;After&#xff0c;AfterClass 1、其中&#xff1a;BeforeClass&#xff0c;AfterClass是Junit4中新添加进去的 2、如果Run as --->Junit Test&#xff0c;运行含有Test…

iOS开发流程总结

本文由社区会员umyueyue分享 以下是会员umyueue总结的iOS开发流程以及学习中的资料分享。 流程&#xff1a;注册、开发、真机测试、发布以及上线。 iPhone iOS 4从注册到app上线开发流程 http://blog.csdn.net/linzhiji/article/details/6732868 一、关于注册账号IDP和Apple ID…

(2)iOS用UICollectionView实现Gallery效果

本文主要实现&#xff1a; &#xff08;1&#xff09;用UICollectionView显示一组图片 &#xff08;2&#xff09;左右滑动来浏览所有图片 &#xff08;3&#xff09;图片自动对齐到网格&#xff08;即滑动停止后中间的图片对齐到正中位置&#xff09; &#xff08;4&#…