struts2应用
1、处理表单数据
GreetingAction
public class GreetingAction extends ActionSupport{
private String username;
public String execute() throws Exception{
if(username==null||"".equals(username)){
return ERROR;
}else{
return SUCCESS;
}
}
public void setUsername(String username){
this.username=username;
}
public String getUsername(){
return username;
} }
struts.xml
<struts>
<package name="myPackage" extends="struts-default">
<action name="greeting" class="com.action.GreetingAction">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
index.jsp
<body>
<form action="greeting.action" method="post">
请输入你的姓名:<input type="text" name="username"/>
<input type="submit"/>
</form>
</body>
success.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<body>
<font color="red">
<s:property value="username"/>
</font>
您好,欢迎来到本站
</body>
error.jsp
<body>
<font color="red">错误:您没有输入姓名!</font>
</body>
2、使用Map类型的request、session和application对象
public class TestAction extends ActionSupport{
private Map<String,Object> request;
private Map<String,Object> response;
private Map<String,Object> application;
public TestAction(){
ActionContext context=ActionContext.getContext();
request=Map<String,Object> context.get("request");
session=context.getSession();
application=context.getApplication();
}
public String execute()throws Exception{
String info="明日科技";
request.put("info",info);
session.put("info",info);
application.put("info",info);
return SUCCESS;
}
}
struts.xml
<struts>
<constant name="struts.devMode" value="true"/>
<package name="myPackage" extends="struts-default">
<action name="testAction" class="com.action.TestAction">
<result>success.jsp</result>
</action>
</package>
</struts>
success.jsp
<body>
request范围内的info值
<font color="red">
<%=request.getAttribute("info");%>
</font>
<font color="red">
<%=session.getAttribute("info");%>
</font>
<font color="red">
<%=application.getAttribute("info");%>
</font>
</body>
index.jsp
<body>
<a href="testAction.action">Map类型的request、session、application</a>
<br/>
</body>
struts2应用的更多相关文章
- 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...
- 菜鸟学Struts2——Interceptors
昨天学习Struts2的Convention plugin,今天利用Convention plugin进行Interceptor学习,虽然是使用Convention plugin进行零配置开发,这只是 ...
- 菜鸟学Struts2——零配置(Convention )
又是周末,继续Struts2的学习,之前学习了,Struts的原理,Actions以及Results,今天对对Struts的Convention Plugin进行学习,如下图: Struts Conv ...
- 菜鸟学Struts2——Results
在对Struts2的Action学习之后,对Struts2的Result进行学习.主要对Struts2文档Guides中的Results分支进行学习,如下图: 1.Result Types(Resul ...
- 菜鸟学Struts2——Actions
在对Struts2的工作原理学习之后,对Struts2的Action进行学习.主要对Struts2文档Guides中的Action分支进行学习,如下图: 1.Model Driven(模型驱动) St ...
- 菜鸟学Struts2——Struts工作原理
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...
- 13、零配置Struts2开发
Convention 插件 从 Struts 2.1 开始, Struts 可以使用 Convention 插件来支持零配置: Convention 插件完全抛弃配置信息, 不仅不需要使用 strut ...
- 12、Struts2表单重复提交
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 &qu ...
- 11、Struts2 的文件上传和下载
文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...
- 9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证: ...
随机推荐
- LeetCode--008--字符串转换整数 (atoi)(java)
请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之 ...
- LeetCode--371--两整数之和
问题描述: 方法: class Solution(object): def getSum(self, a, b): """ :type a: int :type b: i ...
- 20181013xlVba据成绩条生成图片文件
Sub CreateGoalPictures() '声明变量 Dim Wb As Workbook Dim Sht As Worksheet Dim Shp As Shape Dim Pic, End ...
- You Don't Know JS: this & Object Prototypes( 第3章 对象)
前2章探索了this绑定指向不同的对象需要函数引用的call-site. 但是什么是对象,为什么我们需要指向它们? 本章探索细节. Syntax the rules that describe ho ...
- android------DDMS files not found: tools\hprof-conv.exe
好久没有Eclipse了,使用一下就遇到坑,使用eclipse突然发生这个问题:DDMS files not found: ***\sdk\tools\hprof-conv.exe,无法连接模拟器 在 ...
- CSS之透视perspective属性
透视原理: 近大远小 . 浏览器透视:把近大远小的所有图像,透视在屏幕上. 书写方式不同的定义 perspective有两种定义方式,如下 .class{ perspective: 800px; } ...
- Single Number III leetcode java
问题描述: Given an array of numbers nums, in which exactly two elements appear only once and all the oth ...
- UVALive - 7041 G - The Problem to Slow Down You
题意:求两个串的公共回文子串个数 题解:建两个回文自动机,从0和1各跑一边就是答案了,因为对于回文自动机来说,从头开始dfs就能找出该字符串的所有回文串 //#pragma GCC optimize( ...
- hdu-6435
Problem J. CSGO Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others ...
- AWS EC2 MySQL迁移到RDS案例
Amazon Relational Database Service (Amazon RDS) 是一种Web 服务,可让用户更轻松地在云中设置.操作和扩展关系数据库.它可以为行业标准关系数据库提供经济 ...